2017-10-11 46 views
1

我有一个以SpecialObject集合作为结果的测试。 SpecialObject具有“名称”和“姓氏”作为属性。我想测试集合是否包含具有2个特定属性“name = myname”和“surname = lastname”的specialObject。Hamcrest。匹配具有2个特定属性值的集合中的项目

这里是我没有成功尝试:

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

回答

2

您可以使用both匹配检查,如果这两个属性已经excepcted值。

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

这工作就像一个魅力。谢谢! – Slagathor

相关问题