汉克雷斯特。将集合中的项目与 2 个特定 属性 值匹配

Hamcrest. Match item in collection with 2 specific property values

我用一组 SpecialObject 作为结果进行了测试。 SpecialObject 具有 "name" 和 "surname" 作为属性。我想测试该集合是否包含具有 2 个特定属性 "name=myname" 和 "surname=lastname" 的 specialObject。

以下是我尝试过但没有成功的方法:

assertThat(result, Matchers.<SpecialObject>hasItem(
    allOf(
          hasProperty("name", equalTo("myname")),
          hasProperty("surname", equalTo("lastname"))
));

您可以使用 both 匹配器来检查两个属性是否具有异常值。

    Assert.assertThat(result, Matchers.<SpecialObject>hasItem(
            Matchers.both(hasProperty("name", equalTo("myname")))
                    .and(hasProperty("surname", equalTo("lastname")))));