반응형

1. 서론

이번 포스팅에서는 테스트 code에 대해 진행하려고 합니다.

 

먼저, 테스트 코드 작성 시 알아야 할 점이 5가지가 있습니다.

 

1) 빠르게 Fast

 

테스트 코드는 빨라야합니다.

테스트가 느리다면 개발자는 테스트 코드를 자주 돌릴생각이 들지 않기 때문입니다.

 

2) 독립적으로 Independent

 

테스트 코드는 독립적이고, 어떤 순서로 실행하여도 문제가 있으면 안됩니다.

테스트 코드가 독립적이지 않다면, 한개의 실패는 나머지 테스트 코드에도 영향을 줄 것입니다.

 

결국, 실패의 원인을 찾는데 오랜시간이 소모하게 됩니다.

 

3) 반복가능하게 Repeatable

 

테스트는 어떤 환경에서도 반복 가능해야 합니다.

운영, 개발, QA 환경 등 테스트는 어떤 환경에서도 수행이 반복적으로 가능해야 합니다.

 

4) 자가검증하는 Self-validating

 

테스트는 bool 값으로 결과를 판단해야 합니다. 검증하려는 값이 모두 bool이여야 한다는 의미가 아닙니다.

테스트 수행 후 비교한 값의 판단은 bool 값을 통해 자가 검증해야 한다는 의미입니다.

 

5) 적시에Timely

 

테스트 코드는 적시에 작성해야 합니다.

 

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

그로인해, 테스트하기 용이하도록 실제 코드를 작성할 수 있기 때문입니다.

 

저는 실제코드를 작성 후 테스트 코드를 작성할 때가 있습니다.
그 경우, 실제 코드를 테스트하기 용이하도록 리팩토링 작업이 들어가는 경우가 왕왕 발생하곤 합니다.

 

이제, Clean Code에서의 테스트 코드를 소개하도록 하겠습니다.

 

 

 

 

 

반응형

 

 

 

 

 

 

2. 테스트 코드 또한 실제 코드처럼 

테스트 코드 또한 실제 코드처럼 작성해야합니다.

 

이는, 가독성, 중복 제거, 성능을 고려하여 설계 및 개발을 해야 한다는 의미입니다.

 

그로인해, 아래와 같은 3가지를 지키게 됩니다.

 

  • 빠르게 Fast
  • 독립적으로 Independent
  • 반복가능하게 Repeatable

3.  Asert 클래스의 equals를 사용하여 expected와 existed가 한눈에 보이도록

테스트 코드 작성시에는 Asert 클래스의 equals를 사용하여

무엇을 테스트하는지 expected와 existed를 명시적으로 해야합니다.

 

4. 테스트 함수당 개념 하나만

테스트 함수는 한개의 개념만을 테스트하여야 합니다.

2개 이상의 개념이 한 테스트에 있다면 독립적으로 Independent에 위반됩니다.

 

이는, 무엇을 테스트하는지가 모호해지며 나중에는 결국 테스트 코드로서의 의미를 잃어버리게 될 것입니다.

 

5. 마무리

이번 포스팅에서는 테스트 Code에 대해 포스팅 하였습니다.

 

이렇게, Clean Code 책을 읽으며 제 나름대로 정리한 1~3의 포스팅을 완료했습니다.

 

감사합니다.

반응형

+ Recent posts