我正在编写简单的测试来检查方法返回下面的一些接口Collection
。我试图尽可能地抽象这个集合的内部表示,以便这个测试在两种情况下都能通过:当方法返回时List
和Set
.
Set
应该订购(或LinkedHashSet
支持LinkedHashMap
)Set
所以我也必须测试订单。所以一般我想写这样的测试:
assertThat(returnedList, containsOrdered('t1", "t2", "t3"));
如果两个集合不是“相同的”(即相同顺序中的相同值),这将失败。
我发现 Hamcrest 库在这种情况下很有用,但是我被困在它的文档中。任何帮助将不胜感激,但是Matcher
如果可能的话,我会尽量避免编写 CollectionTestUtil 或我自己的 Hamcrest。