gpt4 book ai didi

mysql - Junit:测试查询类

转载 作者:可可西里 更新时间:2023-11-01 07:08:16 35 4
gpt4 key购买 nike

我需要用 JUnit 编写一些测试来测试我们访问数据库的类,有些非常简单(选择项目列表)其他插入新项目,你知道基本的 SQL 知识。

现在我的问题是,在编写测试时需要牢记哪些事项?

例如:数据库类从表中获取项目,我可以使用有效 ID 和无效 ID 对其进行测试,但还有什么?

因此,总结一下:您如何最好地测试您的查询类?

我已经有一段时间没有写任何测试了,所以我有点生疏:)

最佳答案

如果您只是测试 SQL 查询,您可以

  • 在成功场景中运行每个查询,以检查您的语句是否正确
  • (如您所述)选择无效 ID
  • 插入重复记录(通过 PK 或唯一键)
  • 确保您不能在不可为 null 的字段中放置 null。
  • 删除无效的 ID(应该失败吗?还是忽略该行不存在?)
  • 验证您对列的任何检查
  • 也许您必须进行任何验证以防止将 String 存储在较短的 varchar 列中?

除了查询的第一个要点,我从来没有做过更多的事情,但我可以看到测试一些额外场景的一些值(value)。

此类集成测试的一个好的做法是能够清除数据库并插入每个测试所需的任何数据,因为这将保证每个测试都是独立的。如果您使用的是 java,则可以使用诸如 DBUnit 之类的框架。去做这个。另一个好的做法是删除数据库和创建测试数据是在您运行每个测试之前而不是之后完成的。这样做的好处是,如果测试失败,您的数据库将处于测试失败时的状态。

您可以测试的其他内容是您在 DAO 级别执行的任何类型的数据转换(例如,带有逗号分隔值列表的 varchar 列,并将其转换为列表,而不是将其保留为字符串)。

关于mysql - Junit:测试查询类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17827428/

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