더북(TheBook)

iloveyouboss_11/test/iloveyouboss/ProfileTest.java

@Test
public void matchAnswersFalseWhenMustMatchCriteriaNotMet() {
    profile.add(new Answer(question, Bool.FALSE));
    criteria.add(new Criterion(new Answer(question, Bool.TRUE), 
                               Weight.MustMatch));
 
    boolean matches = profile.matches(criteria);
 
    assertFalse(matches);
}
 
@Test
public void matchAnswersTrueForAnyDontCareCriteria() {
    profile.add(new Answer(question, Bool.FALSE));
    criteria.add(new Criterion(new Answer(question, Bool.TRUE), 
                               Weight.DontCare));
 
    boolean matches = profile.matches(criteria);
 
    assertTrue(matches);
}

 

리팩토링한 테스트 코드가 좋아 보이는 이유는 각 준비, 실행, 단언 부분을 한두 줄로 압축했기 때문입니다. 필요하다면 @Before 메서드를 살펴볼 수 있지만 우리의 주요 관심사는 아닙니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.