Я использую зависимый модуль под названием spring-cloud-aws. Он имеет класс @Configuration как org.springframework.cloud.aws.messaging.config.annotation.SqsConfiguration. В моем тестовом примере SpringBoot JUnit обнаруживается класс SqsConfiguration и инициализируются Beans. Я хочу исключить эту конфигурацию из класса в своем тестовом примере JUNit. Как этого добиться?
Я пытался использовать @ComponentScan, но это не сработало.
@RunWith(SpringRunner.class)
@SpringBootTest(classes = SQLTestConfig.class)
@ActiveProfiles("test")
public class BusinessManagerTest {
}
@TestConfiguration
@ComponentScan(basePackages = {"package1","package1"},
excludeFilters = {@ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, value = SqsConfiguration.class)})
@Profile("test")
class SQLTestConfig {
@Bean
public SomeBean beans() {
return new SomeBean();
}
}
Для загрузки этого класса конфигурации требуются учетные данные aws. Я не хочу вводить учетные данные для запуска простого тестового примера Bean.
org.springframework.beans.factory.BeanCreationException: ошибка при создании bean-компонента с именем «simpleMessageListenerContainer», определенным в ресурсе пути к классу [org/springframework/cloud/aws/messaging/config/annotation/SqsConfiguration.class]: не удалось вызвать метод инициализации; вложенным исключением является com.amazonaws.services.sqs.model.AmazonSQSException: срок действия токена безопасности, включенного в запрос, истек