我使用此处的TomcatEmbeddedServletContainerFactory指令从http重定向到https:
http://drissamri.be/blog/java/enable-https-in-spring-boot/
然而,这会破坏对其余控制器的测试,即使它使用Application来运行不包含或引用执行重定向的TomcatEmbeddedServletContainerFactory配置的测试。
如果我从包含运行应用程序的@SpringBootApplication批注的Application中删除重定向配置,则测试通过。
知道如何在不破坏Rest控制器配置的情况下保持应用程序的生产配置吗?
TIA, - Ole
答案 0 :(得分:7)
如果您不想在测试中使用 Application.java 中的 TomcatEmbeddedServletContainerFactory ,则始终可以使用Spring profiles添加工作确保只在使用特定配置文件(例如生产)启动应用程序时才加载bean。
然后 @Bean TomcatEmbeddedServletContainerFactory 会有一个 @Profile(" production")注释,你的测试会除非您明确使用生产配置文件,否则不要创建该bean。
当您提供有关问题的更多信息时,我会更新此答案。