问题描述
哦,聪明且经验丰富的开发人员,
我有一个通用的最佳实践问题,用于测试数据库访问器类(专门设计用于在具有时间序列组件的相当复杂的数据库上执行 CRUD 操作的类)。我们有几个项目,平均大约有 50-100 k 行代码。这些项目中最大的一个本质上是实用主义的,其代码的大约 75% 是我上面提到的 dbaccessor 类及其单元测试。以下是处理这些测试的事件时间表:
- 只需针对真实数据库编写测试即可。不可怕,但有时有问题。虽然违背了一些最佳实践。此外,由于我们的 CI/Code Coverage 内容与我们的数据库完全隔离,因此我们在这里受到了打击。
- 使用 Hsql 在内存中创建数据库以进行测试。这些似乎是个好主意,但设置数据库的开销变得有问题,而且很难跟上变化的步伐。
- 回到第一种方法
- 使用 Mockito/Powermock 做任何事情。这对于我们的其他测试当然是一个好主意,但对于 dbaccessor 类似乎毫无意义。从积极的方面来说,我们的 CI+Code Coverage 报告很好,但这感觉就像购买一个只能为自己的电池充电的电池充电器。
- 目前,我已经考虑过这个问题,并阅读了 (Best Practices for JDBC/database unit testing) 并且我正在考虑使用一些代码覆盖率,并简单地依赖于数据库功能的集成测试。
有什么想法吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)