*<클린 코드>를 참고하여 작성한 글입니다.
단위 테스트
- TDD 법칙 세가지
- 첫째: 실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는다.
- 둘째: 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다.
- 셋째: 현재 실패하는 테스트를 통과하라 정도로만 실제 코드를 작성한다.
- 깨끗한 테스트 코드 유지하기
- 테스트 코드도 실제 코드 못지않게 중요하다.
- 테스트는 유연성, 유지보수성, 재사용성을 제공한다.
- 깨끗한 테스트 코드
- 가독성, 가독성, 가독성. 명료성, 단순성, 풍부한 표현력. 최소의 표현으로 많은 것을 나타낼 것.
- Build-Operate-Check 패턴
- 이중 표준
- 테스트 당 assert 하나
- 테스트 당 개념 하나
- F.I.R.S.T
- F : 빠르게 - 테스트는 빨라야 한다.
- I : 독립적으로 - 각 테스트는 서로 의존하면 안 된다.
- R : 반복가능하게 - 테스트는 어떤 환경에서도 반복 가능해야 한다.
- S : 자가검증하는 - 테스트는 bool값으로 결과를 내야 한다. 성공 아니면 실패다. 통과 여부를 알려고 로그 파일을 읽게 만들어서는 안 된다.
- T : 적시에 - 테스트는 적시에 작성해야 한다. 단위 테스트는 테스트하려는 실제 코드를 구현하기 직전에 구현한다. 실제 코드를 구현한 다음에 테스트 코드를 만들면 실제 코드가 테스트하기 어렵다는 사실을 발견할지도 모른다.