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

당신은 두 속성 값을 excepcted 경우 확인 both 정규 표현을 사용할 수 있습니다.

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

이것은 매력처럼 작동했습니다. 감사! – Slagathor