7
如何断言Iterable包含具有特定属性的元素?
假设我要使用此签名对方法进行单元测试: 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版本到底是什么?