김동형수 개발기

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

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

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

김동형수 2022. 10. 3. 21:55

21장 셈하기

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

 

tearDown 메서드는 예외의 유무와 관계없이 실행이 되어야한다.

일반적으로 테스트의 순서는 중요하다.

테스트 하나가 성공하고 그 뒤 테스트가 문제가 생기다면 두 단계 뒤로 물러서는 것을 고려한다.

모든 테스트가 성공하던 매 시점을 일종의 체크 포인트로 하여 임의로 되돌릴 수 있도록 프로그래밍 환경이 지원한다면 아주 좋을 것이다.

( 테스트 버저닝? 에 대한 형상관리를 이야기 하는듯함 )

 

모든 테스트 케이스에 대해서 자동보고 되는 기능은 첫 번째 테스트 케이스로서 무리다.

 

가짜 구현을 추가해서 테스트가 성공하게 만들었다.

 

가짜 구현한 TestResult를 문자열에 상수를 넣도록 runCount 필드를 추가한다.

(그러면서 나오는 python의 printf 기능)

 

init, testStarted 메서드를 추가하면서 초기화와 호출 시 runCount가 1 증가되게 한다.

그리고 TestCase의 run 메서드에서 호출되도록 코드를 수정한다.

 

실패하는 실행결과에 테스트를 위한 테스트가 존재하지 않기 때문에 또 다른 테스트를 하나 작성한다.

 

 

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

 

정리

  • 가짜 구현을 한 뒤에 단계적으로 상수를 변수로 바꾸어 실제 구현으로 만들었다.
  • 또 다른 테스트를 작성했다.
  • 테스트가 실패했을 때 좀 더 작은 스케일로 또 다른 테스트를 만들어서 실패한 테스트가 성공하게 만드는 것을 보조할 수 있었다.
Comments