728x90
9장. 단위 테스트
 - TDD(Test Driven Development)에는 중요한 3가지  규칙이 있다.
 1) 실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 마라.

 2) 컴파일은 실패하지 않으면서 살행이 살패하는 정도로만 단위 태스트를 작성하라.

 3) 현재 실패하는 태스트를 통과할 정도로만 실제 코드를 작성하라.

 - 실제 코드가 진화하면 태스트 코드도 변경되어야 한다. 테스트 코드가 지저분하면 변경이 어려워진다.
 
 - 코드에 유연성, 유지보수성, 재사용성을 제공하는 버팀목이 바로 단위 테스트이다. 테스트 코드가 있어야 변경이 두렵지 않기 때문이다.

 - 테스트 코드는 단순하고, 간결하고, 표현력이 좋아야 하지만 실제 코드만큼 효율적일 필요는 없다.

 - 개념 당 assert 단위를 최소로 줄이자. 테스트 함수 하나는 개념 하나만 테스트하라.

 - 마지막으로 FIRST를 소개한다.
 Fast) 테스트는 빨라야한다. 빨라야 자주 돌리고, 그래야 초반에 문제를 발견한다.

 Independent) 각 테스트는 서로 의존적이면 안된다. 완전히 독립적이어야 한다.

 Repeatable) 테스트는 어떤 환경에서도, 반복적으로 실행 가능해야 한다.

 Self-validating) 테스트는 부울값을 반환해야 한다. 성공 아니면 실패의 결과만 있을 뿐이다.

 Timely) 단위 테스트는 테스트하려는 실제 코드를 구현하기 직전에 구현해야 한다.


[출처] 클린코드 - 로버트C.마틴 지음
728x90
반응형