Unit Testing

유닛 테스트(Unit Testing)

유닛 테스트는 아래 기본 가이드라인 항목에 따라 작성한다.

  • 퍼블릭 메소드를 테스트한다.
  • 테스트 결과에 영향을 미치는 디펜던시 객체는 모킹한다.
  • 디스크 관련 디펜던시는 가능한 사용을 피한다.
  • 네트워크 관련 디펜던시는 사용하지 않는다.

언어별 단위 테스트 프레임워크

테스트 코드에 대한 개인적인 생각

  • 테스트 코드는 일종의 보험 같은거라 생각한다.
    • 이 말은, 코드의 변경이 있을 시에 테스트 코드가 없게 되면 이 코드가 정말 잘도는지 불안하게 될 것입니다. 만약 있다면, 그 불안감을 없어지겠죠.
    • 아무래도 사람이 코드를 작성하는 거라 누구나 실수를 하게 되는데, 테스트 코드를 작성을 하면, 발생할 수 있는 모든 경우 수에 대해서 생각해 보게 되고, 실행해 보면서 증명할 수 있다.
    • 없어도 운영은 되겠지만, 있으면 든든한 거라고 생각한다.
  • 테스트 코드를 작성을 하므로써 로직의 정상 동작한다는 것에 대한 증명이라고 생각한다.
    • 코드에 정상 동작을 하게 구현되어 있다는 것에 대한 증명이다.
  • 테스트 코드는 요구 사항 정의서가 될 수 있다.
    • 소스 코드가 어떠한 요구 조건으로 어떻게 동작하게 되는지 파악할 수 있게 된다.

참고 문서