2006/05/30 11:04 Developer
좋은 테스트의 특징
- 자동적
테스트는 자동으로 실행이 되야 한다. IDE에서 버튼 하나, 명령 프롬프트에서 명령하나로 실행. 테스트에서 수동단계가 있으면 자동 모델이 망가질수 있다. - 철저함
코드의 모든 줄 하나하나 코드가 취할수 있는 모든 분기, 코드가 일으키는 모든 예외 등을 테스트한다. - 반복 가능
모든 테스트들은 다른 테스트들로부터 독립적이어야 한다. 환경으로부터도 독립적이어야 한다. 어떤 순서로든 여러 번 반복 실행될 수 있어야 하고, 늘 같은 결과가 나와야 한다.환경으로부터의 독립적으로 만들기 위해서 mock object를 사용한다. - 독립적
환경이 다른 개발자들에게서 독립적인 상태를 유지해야 한다. 어떤 테스트도 다른 테스트에 의존하지 않는다는 것을 의미한다. 어느 순서로든, 어떤 개별 테스트라도 실행해 볼수 있어야 한다. - 전문적
단위 테스트를 이해서 작성하는 코드는 진짜다. 전문적인 표준을 유지하면서 작성되어야 한다는 것을 의미한다. 함수나 객체 같은것은 보이지도 않고 코드의 같은 줄만 계속 써가면서 같은 일만 여러번 반복하는 코드는 좋지 않다. 데이터 주도적 테스트를 돕는 코드를 만들어야 한다.