Hamcrest:如何测试对象中的多个属性

时间:2018-08-13 18:08:14

标签: java assert hamcrest

rules=[{type:"path", value:"abc"},{type:"cookie", value:"xyz"}, ...]

我想确定数组是否包含具有属性(type=pathvalue=abc)的对象

我尝试过这样的事情: assertThat(rules, hasItem(hasProperty("type", equals("path"))));

但是我没有找到一种方法来结合两个hasProperty方法。有人可以帮我吗

1 个答案:

答案 0 :(得分:1)

以下内容将尝试将allOf()检查中的每个Matcher应用于rules中的每个项目:

    assertThat(rules,
            hasItem(allOf(hasProperty("type", equalTo("path")),
                    hasProperty("value", equalTo("abc")))));