【发布时间】:2020-02-19 20:07:42
【问题描述】:
你好 stackoverflow 社区。p>
我在工作中争论过是否需要对 spring-data JPA(或 Micronaut 版本)进行存储库测试。
这将是我的应用程序设置:
@Controller➡@Service/@Sigleton➡Repository<Entity>
在我的服务测试中,我会使用 @ExtendWith(SpringExtension::class) 扩展名 (Junit5)
在创建测试设置时,我会 @MockBean 离开我需要调用的其他系统(如 REST-API),但 @Autowire 我的 Repository 的。
在设置我的测试数据时,我只需使用注入的存储库将所需的实体保存到 H2 内存数据库中。
这也将测试我的数据库逻辑和业务逻辑。在 100% 测试覆盖率的情况下,我已经测试了生产中可能发生的所有数据库调用。
但是我通常在项目中看到的是 Repository 被嘲笑了。
要测试自定义存储库调用,有单独的测试以确保存储库功能按预期工作。
您对此有何看法。你更喜欢没有存储库模拟的方法还是有,为什么?
【问题讨论】:
-
“你更喜欢没有存储库模拟的方法还是有,为什么?” - 我认为 StackOverflow 明确不鼓励回答主要基于意见的问题。
标签: unit-testing junit spring-data-jpa micronaut micronaut-data