好的,我经常会有一个返回某种Set的方法。单元测试这种方法的问题在于,无法保证对集合的迭代将始终以相同的顺序返回项目。
有没有人有任何优选的方法来验证Set?
彼得
答案 0 :(得分:2)
只需将您的预期值放入Set中,然后在预期和实际集上使用assertEquals。这有点魅力,例如。
Set<String> expected = new HashSet<String>(Arrays.asList("expected", "items"));
...
Set<String> actual = ...;
Assert.assertEquals(expected, actual);
答案 1 :(得分:0)
两组相等,意味着它们包含相同的项目,如果它们都包含彼此
Assert.assertTrue(s1.containsAll(s2) && s2.containsAll(s1))