Java 断言自动化测试中没有两个元素是相同的
Java assert that no two elements are the same in automation test
我正在尝试编写一个 selenium 自动化测试,以确保元素数组中没有重复元素。
例如有一个数组 ["Andy", "Bob", "Charles", "David", "David"]
我想编写一个自动化测试,断言没有显示重复的名称。以下似乎不太有效...
assertThat(getArray(), is(not(getArray())));
如何编写断言语句来检查数组中的每一项以确保没有重复项?
将您的数组转换为集合:
Set mySet = new HashSet(Arrays.asList(someArray));
然后断言mySet.size() == someArray.length
。将数组变成一个集合会折叠重复项,从而减小大小;如果大小已经减小,你知道有重复。
还有一个解决办法。假设 "names" 是您的数组。由于 add() 将 return false 如果该项目将是非唯一的:
Set tempSet = new HashSet();
for (String str : names) {
assertTrue(tempSet.add(str));
}
我正在尝试编写一个 selenium 自动化测试,以确保元素数组中没有重复元素。
例如有一个数组 ["Andy", "Bob", "Charles", "David", "David"]
我想编写一个自动化测试,断言没有显示重复的名称。以下似乎不太有效...
assertThat(getArray(), is(not(getArray())));
如何编写断言语句来检查数组中的每一项以确保没有重复项?
将您的数组转换为集合:
Set mySet = new HashSet(Arrays.asList(someArray));
然后断言mySet.size() == someArray.length
。将数组变成一个集合会折叠重复项,从而减小大小;如果大小已经减小,你知道有重复。
还有一个解决办法。假设 "names" 是您的数组。由于 add() 将 return false 如果该项目将是非唯一的:
Set tempSet = new HashSet();
for (String str : names) {
assertTrue(tempSet.add(str));
}