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

J.J*_*eam 5 spring-boot spring-boot-test spring-boot-jpa

这里/sf/answers/3707769131/ 很好地解释了为什么 @DataJpaTest @SpringBootTest 不应该混合在一个应用程序中。

但是几乎没有解释无论如何都需要测试 MVC SpringBoot 应用程序的每一层的情况(从我的角度来看,很自然地不仅要测试一层或仅测试另一层,而且甚至测试所有层,不是吗?)

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

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

eis*_*eis 8

假设您想要完整的应用程序,除了数据库在内存中,是的,将 @SpringBootTest 与 @AutoConfigureTestDatabase 结合是一个合适的解决方案,因为它就是这样做的。

@DataJpaTest 的文档中也提到了这一点

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