为了账号安全,请及时绑定邮箱和手机立即绑定

具有覆盖 DAO 类的 Spring Framework 集成测试

具有覆盖 DAO 类的 Spring Framework 集成测试

森栏 2022-05-12 15:33:12
我在 Spring 中设置集成测试以测试我的 API 端点是否正常工作。没有代码,因为该问题是设计问题。现在我有一个特定的 DAO 类,它与一个真正的数据库进行 IO 操作。我有一个简单的内存资源存储实现,用于测试,不需要任何数据库设置。我的问题是我应该如何在 Spring 中配置我的测试,以便资源存储由内存存储实现完成。(我需要模拟 http 请求并断言它们可以正常工作,现在测试已经启动并正在运行,但是资源存储是使用 DAO 在真实数据库上完成的)PS我可以将application.properties中的真实数据库替换为可以与当前DAO一起使用的H2 db,但我不需要在DB层中进行更改,我需要在DAO层中使用资源存储类的不同实现。我对 Spring 测试比较陌生,我正在使用 jUnit 进行测试。非常感谢你。感谢所有帮助。
查看完整描述

1 回答

?
互换的青春

TA贡献1797条经验 获得超6个赞

如果您想在测试中覆盖 bean(使用另一个实现),您可以创建另一个 Spring 上下文(在测试类或资源中),您可以在其中创建具有相同 ID的 bean 。

如果您使用 XML - 就足够了,只需在测试中声明上下文时按正确的顺序放置上下文即可。如果您使用 Java 配置 - 您可能希望通过将假 bean 标记为来确保使用测试实现@Primary


查看完整回答
反对 回复 2022-05-12
  • 1 回答
  • 0 关注
  • 84 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信