1.11 요약
이 장에서 살펴본 내용을 정리하면 다음과 같다.
• 좋은 단위 테스트는 다음 특징이 있다.
▪ 빠르게 실행되어야 한다.
▪ 테스트하는 코드의 모든 동작을 완벽하게 제어할 수 있어야 한다. 즉, 테스트 환경에서 코드가 어떻게 실행되는지 완벽히 통제할 수 있어야 한다.
▪ 다른 테스트와 독립적으로 완전히 분리된 환경에서 실행되어야 한다.
▪ 파일 시스템, 네트워크, 데이터베이스 필요 없이 메모리 내에서 실행되어야 한다.
▪ 가능한 한 동기적이고 순차적으로 실행되어야 한다(병렬 스레드 사용 금지).
• 진입점은 작업 단위를 시작하는 공개(public) 함수로, 기본적인 로직을 실행하는 시작점이다. 종료점은 테스트로 검사할 수 있는 지점을 의미하며, 작업 단위 결과를 나타낸다.
• 종료점은 값을 반환하거나, 상태 값을 바꾸거나, 서드 파티를 호출하는 등 형태가 될 수 있다. 각 종료점은 별도로 테스트를 만들어야 하고, 각 종료점 유형에 따라 다른 테스트 기법이 필요하다.