Как запустить сервер Spring Boot в @BeforeClass из junit
Нам нужно использовать Spring Boot в нашем проекте для тестирования только в настоящее время. Конфигурация приложения Spring и конфигурация тестового приложения приведены ниже:
@TransactionConfiguration(transactionManager = "transactionManager")
@Transactional
@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@IntegrationTest
@DirtiesContext
public abstract class TestApplicationContext {
}
@SpringBootApplication
public class TestApplication extends SpringBootServletInitializer {
@Bean
public EmbeddedServletContainerFactory embeddedServletContainerFactory() {
...
}
}
Теперь нам нужно убедиться, что сервер Spring Boot запускается в @BeforeClass
так что клиент может подключиться к нему до запуска любых тестов. Как мне разрешить запуск сервера Spring Boot таким образом? Удаление @SpringapplicationConfiguration
и вручную запустить сервер в @BeforeClass
как это не работает (говорит ContextLoader is NULL
). Может кто-нибудь указать, как этого добиться?
public class TestClass extends TestApplicationContext {
...
ConfigurableApplicationContext appContext;
@Beforeclass
public void setup() {
appContext = SpringApplication.run(TestApplication.class, "");
...
}
...
}