Java 数据库访问器单元测试最佳实践

问题描述

哦,聪明且经验丰富的开发人员,

我有一个通用的最佳实践问题,用于测试数据库访问器类(专门设计用于在具有时间序列组件的相当复杂的数据库上执行 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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...