繁体   English   中英

Spring Boot Integration Test中的H2控制台

[英]H2 Console in Spring Boot Integration Test

我正在使用Spring Boot 1.3.1.RELEASE 我通过在application.properties文件中设置spring.h2.console.enabled=true来启用H2 Web控制台。 如果我启动Spring Boot应用程序,我可以通过http://localhost:8080/h2-console/访问H2 Web控制台。

但是,当我在调试模式下执行集成测试时,我无法访问控制台,我在其中设置了断点。 不幸的是,这不起作用(网站不可用)。 集成测试配置如下:

@ActiveProfiles("local,unittest")
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = MyApplication.class)
@WebAppConfiguration
@IntegrationTest
public class MyResourceTest {

我没有考虑过什么?

要启用H2 Web控制台,您应该将与此项相关的属性文件的值作为注释@IntegrationTest可选元素进行@IntegrationTest

String [] value表单中的属性key=value应在测试运行之前添加到Spring Environment的key=value

例:

@IntegrationTest({"spring.h2.console.enabled=true"})

请记住这个推荐:

如果您的测试也使用@WebAppConfiguration,请考虑使用@WebIntegrationTest而不是@IntegrationTest

因此,尝试使用@WebIntegrationTest而不是@IntegrationTest并添加键spring.h2.console.enabled = true

http://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/test/IntegrationTest.html

http://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/test/WebIntegrationTest.html

也许您可能需要添加密钥“server.port = 8080”作为注释的另一个值@WebIntegrationTest

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM