【问题标题】:How can I combine @DataJpaTest @SpringBootTest in one MVC application for testing every layer?如何在一个 MVC 应用程序中结合 @DataJpaTest @SpringBootTest 来测试每一层?
【发布时间】:2019-09-14 05:28:42
【问题描述】:

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

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

因此有人建议使用@AutoConfigureTestDatabase 而不是@DataJpaTest 但没有完成工作(((

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

【问题讨论】:

  • 是的,就像已经回答的那样,这是一个合适的解决方案。你需要什么细节?不清楚你在问什么。
  • 只需替换 DataJpaTest AutoConfigureTestDatabase 一切都好吗?
  • 你想结合 SpringBootTest 和 AutoConfigureTestDatabase。添加为答案。

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


【解决方案1】:

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

还有提到in the documentation of @DataJpaTest

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

【讨论】:

    【解决方案2】:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-27
      • 2019-11-07
      • 2022-01-14
      • 2013-08-03
      • 1970-01-01
      • 2019-09-23
      • 2016-09-30
      • 2016-04-05
      相关资源
      最近更新 更多