4
我使用默認的Tomcat嵌入式容器。但是,在我的一些測試中,我使用Wiremock(在下面使用Jetty)。這使得我的集成測試運行在Jetty服務器上,而不是Tomcat上。如何強制Spring Boot在集成測試中使用Tomcat服務器?
有沒有辦法強制Spring Boot堅持使用Tomcat?
我使用默認的Tomcat嵌入式容器。但是,在我的一些測試中,我使用Wiremock(在下面使用Jetty)。這使得我的集成測試運行在Jetty服務器上,而不是Tomcat上。如何強制Spring Boot在集成測試中使用Tomcat服務器?
有沒有辦法強制Spring Boot堅持使用Tomcat?
由於斯特凡尼科爾說here你應該定義一個空TomcatEmbeddedServletContainerFactory
@Bean
簡單地增加這種豆是不夠的我。我有'多個豆'的例外。當我加入的是一個自定義的測試首發我只是必須確保,它是之前EmbeddedServletContainerAutoConfiguration
分辨率發生了補充,即:
@Configuration
@AutoConfigureBefore(EmbeddedServletContainerAutoConfiguration.class)
public class ForceTomcatAutoConfiguration {
@Bean
TomcatEmbeddedServletContainerFactory tomcat() {
return new TomcatEmbeddedServletContainerFactory();
}
}
編輯:在春天啓動2.0這個工作對我來說:
@Configuration
@AutoConfigureBefore(ServletWebServerFactoryAutoConfiguration.class)
public class ForceTomcatAutoConfiguration {
@Bean
TomcatServletWebServerFactory tomcat() {
return new TomcatServletWebServerFactory();
}
}