java - Hamcrest:如何测试一个对象的多个属性

标签 java assert hamcrest

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

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

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

但我没有找到结合两个 hasProperty 方法的方法。谁能帮帮我

最佳答案

以下将尝试将 allOf() 检查中的每个匹配器应用于 rules 中的每个项目:

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

关于java - Hamcrest:如何测试一个对象的多个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51828196/

相关文章:

java - Eclipse jsp 文件格式化

java - 尽管使用 flowlayout,JFrame 组件仍能够通过 repaint 调用 PaintComponent

java - 如何在 Java 中断言文本时跳过一行

java - 我如何断言一个List恰好包含一个特定类的一个实例?

java - Matchers.allOf 的编译问题

进行简单的 sql 查询时,Java vs PHP

java - 使用正则表达式拆分简单的数学表达式

unit-testing - 数据库的引用完整性是否应该进行单元测试?

java - 测试。跳过 @beforeMethod 中 testMethod 的执行,而不是全部跳过剩余的 testMethods

java - 使用自定义对象验证数组