如何在一个MVC应用程序中结合使用@DataJpaTest @SpringBootTest来测试每一层?

时间:2019-04-24 20:33:14

标签: spring-boot spring-boot-test spring-boot-jpa

这里https://stackoverflow.com/a/52968130/10894456很好地解释了为什么@DataJpaTest @SpringBootTest不应该混入一个应用程序中。

但是几乎没有解释何时仍然需要测试MVC SpringBoot应用程序的每一层的情况(从我的角度出发,不仅要测试一层或只有另一层,而且还要测试两层乃至所有层是很自然的,不是吗?)

因此,有人建议使用@AutoConfigureTestDatabase而不是@DataJpaTest的解决方案,但未完成工作((((

所以我的问题是:使用@AutoConfigureTestDatabase是合适的解决方案吗?如果是,请说明详细信息。如果否,请提出更合适的解决方案,谢谢

2 个答案:

答案 0 :(得分:1)

假设您想要整个应用程序,但数据库不在内存中,是的,将@SpringBootTest与@AutoConfigureTestDatabase结合使用是一个合适的解决方案,因为它确实做到了。

还提到了in the documentation of @DataJpaTest

  

如果您希望加载完整的应用程序配置,但使用嵌入式数据库,则应考虑将@SpringBootTest与@AutoConfigureTestDatabase结合使用,而不是此注释。

答案 1 :(得分:1)