2017-11-06 19 views
0

나는 다음과 모음이 있습니다JUnit을 어설, 매처 (Matchers) 및 중첩 된 객체

assertThat(parentDecisionGroups, hasItem(hasProperty("id", equalTo(decisionGroup1.getId())))); 
assertThat(parentDecisionGroups, hasItem(hasProperty("id", equalTo(decisionGroup2.getId())))); 
:이 컬렉션에 지정된 ID를 가진 두 개의 개체가 포함되어 있는지 확인해야 내 테스트에서 모든

Set<DecisionGroup> parentDecisionGroups 

처음 지금까지 너무 좋아

...

가 지금 내가 (parentDecisionGroup.id == decisionGroup1.getId은())입니다 parentDecisionGroups.get(0).getOwnerDecision()decision1에 같은지 확인해야하고 parentDecisionGroups.get(1).getOwnerDecision()은 (parentDecisionGroup.id == decisionGroup2.getId은() 곳)입니다 decision2

에 동일 org.hamcrest.*org.junit.Assert.*이 어떻게 할까?

답변

2

CombinableMatcher ~ both(matcher1).and(matcher2)의 matchers를 사용할 수 있습니다. 대단히 감사합니다,

assertThat(parentDecisionGroups, hasItem(
       both(hasProperty("id", equalTo(decisionGroup1.getId()))). 
       and(hasProperty("ownerDecision", equalTo("decision1")))); 
+0

완벽한 :

그래서 당신은 뭔가를 얻을 수 있습니다! – alexanoid