Hamcrest 匹配器的多个 hasProperty 约束
Multiple hasProperty constraints for Hamcrest matcher
我尝试了以下代码,用于匹配列表中的单个 ComplexObject
assertThat(complexObjectList, Matchers.<ComplexObject>hasItems(
hasProperty("lang", equalTo(lang)),
hasProperty("name", equalTo(name)),
hasProperty("desc", equalTo(desc)));
我想要过滤器
match(lang) && match(name) && match(desc)
但是使用上面的代码,我得到
match(lang) || match(name) || match(desc)
如何验证这三个不同的 hasProperty
匹配器?
您可以使用 allOf
匹配器。
assertThat(complexObjectList,
Matchers.<ComplexObject>hasItem(allOf(
hasProperty("lang", equalTo(lang)),
hasProperty("name", equalTo(name)),
hasProperty("desc", equalTo(desc))));
我尝试了以下代码,用于匹配列表中的单个 ComplexObject
assertThat(complexObjectList, Matchers.<ComplexObject>hasItems(
hasProperty("lang", equalTo(lang)),
hasProperty("name", equalTo(name)),
hasProperty("desc", equalTo(desc)));
我想要过滤器
match(lang) && match(name) && match(desc)
但是使用上面的代码,我得到
match(lang) || match(name) || match(desc)
如何验证这三个不同的 hasProperty
匹配器?
您可以使用 allOf
匹配器。
assertThat(complexObjectList,
Matchers.<ComplexObject>hasItem(allOf(
hasProperty("lang", equalTo(lang)),
hasProperty("name", equalTo(name)),
hasProperty("desc", equalTo(desc))));