1.7 좋은 단위 테스트의 특징
어떤 프로그래밍 언어를 사용하든 단위 테스트를 정의하는 가장 어려운 측면 중 하나는 좋은 단위 테스트가 무엇인지 정의하는 것이다. 물론 좋다는 것은 상대적이며, 코딩을 공부할수록 ‘좋다’의 기준은 바뀔 수 있다. 당연하게 들리겠지만, 실제로는 그렇지 않다. 왜 좋은 테스트를 작성해야 하는지 확실한 이유를 알고 있어야 한다. 그저 작업 단위가 무엇인지 이해하는 것만으로는 충분하지 않다.
필자도 수년간 사회 경험을 하면서 많은 팀을 접했는데, 애석하게도 대부분은 단위 테스트를 작성하려다 어느 순간 포기해 버리거나 애초에 단위 테스트를 작성할 생각조차 하지 않을 때가 많았다. 이유가 궁금하여 살펴보니, 잘못된 방식으로 테스트를 작성하느라 많은 시간을 낭비하고 있었다. 아마도 그것을 유지 보수하는 데 더 많은 시간이 걸릴 것이라고 예상하여 처음부터 포기해 버리는 듯했다. 즉, 테스트를 그다지 신뢰하지 않았기 때문이다.