본문 바로가기
SW

테스트 주도 개발(Test-Driven Development:By Example) - 2부 : xUnit 예시 (20 ~ 21장)

by 라꾸스떼(YR) 2020. 2. 10.
반응형

[20장] 뒷정리하기

테스트가 계속 서로 독립적이길 바란다면 외부 자원을 할당받은 테스트들은 작업을 마치기 전에 자원을 다시 반환할 필요가 있다.

단순하게 생각하면 할당 해제를 위한 테스트 방법은 역시 또 하나의 플래그를 도입하는 것이다.

호출된 메서드의 로그를 간단히 남기는 식으로 테스트 전략을 바꿀 생각이다. 항상 로그의 끝부분에서만 기록을 추가하면 메서드 호출 순서를 알 수 잇게 될 것이다.

플래그 대신에 로그를 검사하도록 변경

 

[정리]

-플래그에서 로그로 테스트 전략을 구조 조정했다.

 

[21장] 셈하기

일반적으로 테스트를 구현하는 순서는 중요하다. 난 다음에 구현할 테스트를 선택할 때, 나에게 뭔가 가르침을 줄 수 있고 내가 만들 수 있다는 확신이 드는 것을 선택한다.

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

우린 여러 테스트를 실행하고 그 결과를 다음과 같이 보길 원한다. 그러면 테스트들이 더는 호출되지 않든지, 결과 보고가 멈추든지 간에, 우리에게는 최소한 그 에러를 잡을 수 있는 기회가 있다. 프레임워크가 자신이 아무것도 모른느 테스트 케이스 전부에 대해 자동보고를 한다는 것은 좀 무리인 것 같다.

 

[정리]

-가짜 구현을 한 뒤에 단계적으로 상수를 변수로 바꾸어 실제 구현으로 만들었다.

-테스트가 실패했을 때 좀더 작은 스케일로 또 다른 테스트를 만들어서 실패한 테스트가 성공하게 만드는 것을 보조할 수 있었다.

반응형

댓글