假设我要使用此签名对方法进行单元测试:
List<MyItem> getMyItems();
假设MyItem
是一种Pojo,它具有许多属性"name"
,可通过访问其中一个属性getName()
。
我只想验证的是List<MyItem>
或Iterable
包含两个MyItem
实例,它们的"name"
属性值为"foo"
和"bar"
。如果其他属性不匹配,那么我真的不在乎此测试的目的。如果名称匹配,则表示测试成功。
如果可能,我希望它成为一线客。这是我想做的一些“伪语法”。
assert(listEntriesMatchInAnyOrder(myClass.getMyItems(), property("name"), new String[]{"foo", "bar"});
Hamcrest会适合这种事情吗?如果是这样,上面的伪语法的hamcrest版本到底是什么?