假设我想使用此签名对方法进行单元测试:
List<MyItem> getMyItems();
Run Code Online (Sandbox Code Playgroud)
假设MyItem是一个Pojo,它有许多属性,其中一个是"name"通过访问的getName().
我关心验证的是List<MyItem>,或者任何Iterable,包含两个MyItem实例,其"name"属性具有值"foo"和"bar".如果任何其他属性不匹配,我真的不关心此测试的目的.如果名称匹配,则是成功的测试.
如果可能的话,我希望它是单行的.这是我想要做的事情的一些"伪语法".
assert(listEntriesMatchInAnyOrder(myClass.getMyItems(), property("name"), new String[]{"foo", "bar"});
Run Code Online (Sandbox Code Playgroud)
哈姆克雷斯特会对这类事情有好处吗?如果是这样,我上面的伪语法的hamcrest版本到底是什么?