gpt4 book ai didi

java - 如何在 java 中对 jdbc 代码进行单元测试?

转载 作者:IT老高 更新时间:2023-10-28 20:39:55 25 4
gpt4 key购买 nike

我想为一些连接到数据库的代码编写一些单元测试,运行一个或多个查询,然后处理结果。(没有实际使用数据库)

这里的另一个开发人员编写了我们自己的 DataSource、Connection、Statement、PreparedStatement 和 ResultSet 实现,它们将根据 xml 配置文件返回相应的对象。 (我们可以使用伪造的数据源并针对它返回的结果集运行测试)。

我们是在重新发明轮子吗?单元测试是否已经存在类似的东西?还有其他/更好的方法来测试 jdbc 代码吗?

最佳答案

您有多种选择:

  • 使用 Mock 库来模拟数据库,例如JMock .这样做的巨大缺点是您的查询和数据很可能根本不会经过测试。
  • 使用轻量级数据库进行测试,例如 HSQLDB .如果您的查询很简单,这可能是最简单的方法。
  • 为测试指定一个数据库。 DBUnit是一个不错的选择,或者如果您使用的是 Maven,也可以使用 sql-maven-plugin正确设置和拆除数据库(注意测试之间的依赖关系)。我推荐这个选项,因为它会给你最大的信心,让你的查询与你的数据库供应商一起正常工作。

有时使这些测试可配置是必要且有用的,以便仅在数据库可用时执行这些测试。这可以通过例如来完成构建属性。

关于java - 如何在 java 中对 jdbc 代码进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/266370/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com