Spring从Http重定向到Https Breaks Rest控制器测试

时间:2015-06-10 02:54:16

标签: java spring rest spring-boot

我使用此处的TomcatEmbeddedServletContainerFactory指令从http重定向到https:

http://drissamri.be/blog/java/enable-https-in-spring-boot/

然而,这会破坏对其余控制器的测试,即使它使用Application来运行不包含或引用执行重定向的TomcatEmbeddedServletContainerFactory配置的测试。

如果我从包含运行应用程序的@SpringBootApplication批注的Application中删除重定向配置,则测试通过。

知道如何在不破坏Rest控制器配置的情况下保持应用程序的生产配置吗?

TIA, - Ole

1 个答案:

答案 0 :(得分:7)

如果您不想在测试中使用 Application.java 中的 TomcatEmbeddedServletContainerFactory ,则始终可以使用Spring profiles添加工作确保只在使用特定配置文件(例如生产)启动应用程序时才加载bean。

然后 @Bean TomcatEmbeddedServletContainerFactory 会有一个 @Profile(" production")注释,你的测试会除非您明确使用生产配置文件,否则不要创建该bean。

当您提供有关问题的更多信息时,我会更新此答案。