gpt4 book ai didi

java - 测试从数据库查询结果集中返回唯一值的方法

转载 作者:行者123 更新时间:2023-12-02 06:40:36 24 4
gpt4 key购买 nike

假设有一个名为“Students”的数据库表。

         Students Table
|---------------|---------------|
| Name | Age |
|---------------|---------------|
| John | 9 |
|---------------|---------------|
| Jane | 7 |
|---------------|---------------|
| Dana | 8 |
|---------------|---------------|
| John | 6 |
|---------------|---------------|

我向数据库发出请求以返回所有名称:

SELECT Name FROM Students

所以结果集将是:

ResultSet rs = {"John" "Jane" "Dana" "John"}

然后我想返回所有唯一值,因此我编写了一个名为 populateSet() 的方法,用 rs 填充 HashSet setOfNames

执行populateSet(ResultSet rs)后,只出现唯一的名称:

"John" "Jane" "Dana"

这是验证测试:

public void testValidation() {
// Skipping the test data / db connection / query part
ResultSet rs = ResultSet received back from DB
Set<String> expected = {"John", "Jane", "Dana"};
Set<String> actual = WhateverClass.populateSet(rs);
assertEquals(expected, actual);
}

我可以编写哪些可能的单元测试?

我知道我应该编写一个空的、空的和负的测试。有哪些极端情况?

最佳答案

潜在的极端情况:

  • 非常大的表(数百万行)
  • 事务性 - 例如,如果在开始表扫描后插入/删除/更新名称会发生​​什么?
  • 数据排序
  • 名称区分大小写/不区分大小写
  • 名称中包含非 ASCII 字符

关于java - 测试从数据库查询结果集中返回唯一值的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19172900/

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