Как запустить сервер 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, "");
        ...  
    }
    ...
}

0 ответов

Другие вопросы по тегам