김동형수 개발기

테스트 주도 개발 - 2부 19장 본문

책 스터디/[완료] 테스트 주도 개발

테스트 주도 개발 - 2부 19장

김동형수 2022. 9. 28. 00:58

19장 테이블 차리기

빌 웨이크의 3A 패턴

  1. 준비 (arrange) - 객체를 생성한다.
  2. 행동 (act) - 어떤 자극을 준다.
  3. 확인 (assert) - 결과를 검사한다.

 

테스트 메서드 호출하기
먼저 setUp 호출하기
나중에 tearDown 호출하기
테스트 메서드가 실패하더라도 tearDown 호출하기
여러 개의 테스트 실행하기
수집된 결과를 출력하기

 

3A 중 두 번째 세 번째는 항상 다르지만 준비 단계는 여러 테스트 걸쳐 동일한 경우가 종종 있다.

이런 패턴이 반복된다면 새로운 객체 생성에 대한 문제에 직면하게 된다.

 

성능 - 객체 하나만 생성해서 모든 테스트가 이 객체를 쓰게 할 수 있을 것이다.

격리 - 공유된 객체가 다른 테스트에 영향을 끼칠 수 있다.

 

테스트 커플링을 만들지 말 것.

 

 

테스트 메서드 호출하기
먼저 setUp 호출하기
나중에 tearDown 호출하기
테스트 메서드가 실패하더라도 tearDown 호출하기
여러 개의 테스트 실행하기
수집된 결과를 출력하기

 

정리

  • 일단은 테스트를 작성하는 데 있어 간결함이 성능 향상보다 중요하다고 생각하기로 했다.
  • setUp()을 테스트하고 구현했다.
  • 예제 테스트 케이스를 단순화하기 위해 setUp()을 사용했다.
  • 예제 테스트 케이스에 대한 테스트 케이스를 단순화하기 위해 setUp()을 사용했다.

 

Comments