这个老问题的答案建议 Hamcrest 对集合进行断言。
如果我想断言一个集合有一个对象的多个实例会发生什么?
list = newArrayList();
list.add(1);
list.add(1);
list.add(2);
assertThat(list, hasItems(1, 2, 2)); // This should fail
assertThat(list, hasItems(1, 2, 1)); // This should pass
我试过的 hamcrest 代码并不关心多重性——上面的两个断言都会通过。