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