#java #spring-boot #configuration #spring-autoconfiguration
Вопрос:
В моих тестовых классах у меня есть @SpringBootTest, который работает следующим образом:
@ContextConfiguration(classes = ClassA.Config.class )
@SpringBootTest
class ClassATest {
@Autowired
SomePropertiesProvider provider;
@DynamicPropertySource
private static void registerProperties(DynamicPropertyRegistry registry) {
registry.add("project.random.configuration", () -> "random_value");
}
@Test
void a_test() {
// any stuff
}
@Configuration
@EnableAutoConfiguration(exclude = {AnyAutoConfiguration.class})
@ComponentScan( basePackages = "package")
static class Config {
}
Это работает нормально, но после у меня есть другой интеграционный тест в другом классе, который не является @SpringBootTest
Существует метод, аннотированный @beforeAll, которому нравится эта работа:
@BeforeAll
static void beforeAll() throws IOException, URISyntaxException {
if (System.getProperty("api.base-url") == null) {
MONGO_DB_CONTAINER.start();
MOCK_SERVER_CONTAINER.start();
ORCHESTRATOR_CONTAINER.start();
SpringApplication app = new SpringApplication(Application.class);
app.addInitializers(new Initializer());
applicationContext = app.run();
dbInitialization();
}
}
Фактически, исключение первого класса «исключить = {AnyAutoConfiguration.class}» все еще здесь, и сделайте так, чтобы этот код не удался. Как удалить это исключение для последнего тестирования?
Заранее спасибо.