2

好的,通常我会有一个返回某种 Set 的方法。对这种方法进行单元测试的问题在于,不能保证对集合的迭代总是以相同的顺序返回项目。

有没有人有任何验证集合的首选方法?

彼得

4

2 回答 2

2

只需将您的预期值放入 Set 中,然后在预期和实际集上使用 assertEquals 。这很有魅力,例如

Set<String> expected = new HashSet<String>(Arrays.asList("expected", "items"));
...
Set<String> actual = ...;
Assert.assertEquals(expected, actual);
于 2010-06-19T04:12:38.053 回答
0

两个集合是相等的,这意味着它们包含相同的项目,如果它们都包含另一个

Assert.assertTrue(s1.containsAll(s2) && s2.containsAll(s1))

还有SetUtils.isEqualSet

于 2010-06-19T04:11:09.370 回答