私の提案はEmbeddedServletContainerAutoConfiguration
を無効にして、適切なサーバーの設定をインポートする3台のすべてのサーバー用のテストスコープの依存関係を追加しますが、あなたのテストコードに3つの別々の春ブートアプリケーションクラスを作成し、各アプリケーションのクラスに次のようになります。
@Profile("tomcat")
@SpringBootApplication(exclude = EmbeddedServletContainerAutoConfiguration.class)
@Import(EmbeddedServletContainerAutoConfiguration.EmbeddedTomcat.class)
public class TomcatApplication {
public static void main(String[] args) {
TomcatApplication.run(TomcatApplication.class, args);
}
}
@Profile("undertow")
@SpringBootApplication(exclude = EmbeddedServletContainerAutoConfiguration.class)
@Import(EmbeddedServletContainerAutoConfiguration.EmbeddedUndertow.class)
public class UndertowApplication {
public static void main(String[] args) {
UndertowApplication.run(UndertowApplication.class, args);
}
}
@Profile("jetty")
@SpringBootApplication(exclude = EmbeddedServletContainerAutoConfiguration.class)
@Import(EmbeddedServletContainerAutoConfiguration.EmbeddedJetty.class)
public class JettyApplication {
public static void main(String[] args) {
JettyApplication.run(JettyApplication.class, args);
}
}
次に、適切な@ActiveProfiles
を設定してテストを書くと、準備が整うはずです。