2017-10-11 85 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

相關問題