더북(TheBook)

2.2 어떤 테스트를 작성할 수 있는지 결정

 

 

일부 복잡한 메서드에서는 테스트 코드를 작게는 수십 개 혹은 수백 개 작성할 수도 있습니다. 이때 얼마나 많은 테스트를 작성해야 하는지 생각해 봅시다. 여러분은 코드에서 분기점이나 잠재적으로 영향력이 큰 데이터 변형들도 고려해 볼 수 있습니다. 시작점은 반복문, if 문과 복잡한 조건문들을 보는 것입니다. 그 후 데이터 변형들도 고려해 보세요. 데이터가 null이거나 0이면 어떻게 될까요? 코드에서 데이터 값은 조건문을 평가하는 데 어떤 영향을 미칠까요?

Criteria 인스턴스가 단지 Criterion 객체 한 개를 포함하는 단순한 행복 경로(happy path)를 넘어서, 다음 각 조건은 현재의 테스트 케이스에 영향을 주거나 또 다른 테스트 케이스를 도입하는 고려 사항입니다.

Criteria 인스턴스가 Criterion 객체를 포함하지 않을 때(27행)

Criteria 인스턴스가 다수의 Criterion 객체를 포함할 때(27행)

answers.get()에서 반환된 Answer 객체가 null일 때(29행)

criterion.getAnswer() 혹은 criterion.getAnswer().getQuestion Text()의 반환값이 null일 때(29행)

criterion.getWeight()의 반환값이 Weight.DontCare여서 match 변수가 true일 때(30행)

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