클린코드 9. 단위 테스트

maxxyoung·2022년 6월 12일
0

클린코드

목록 보기
1/1

TDD 법칙 세 가지

  1. 실패하는 단위 테스트를 작성할 때가지 실제 코드를 작성하지 않는다.
  2. 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다.
  3. 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다.

이런 식으로 개발하게 되면 개발과 테스트가 30초 단 주기로 묶이게되고 테스트 코드가 실제코드가 함께 나오게 됨

깨끗한 테스트 코드 유지하기

  • 테스트 코드는 실제 코드 못지 않게 중요
  • 테스트 코드는 사고와 설계와 주의가 필요, 실제 코드 못지 않게 깨끗하게 짜야함
  • 코드에 유연성, 유지보수성, 재사용성을 제공하는게 바로 단위테스트

깨끗한 테스트 코드

  • 깨끗한 테스트 코드를 짜는 데 가장 중요한 것은 가독성⭐️
  • BUILD-OPERATE-CHECK 패턴이 적합
    ㄴ 테스트 자료를 만들고, 테스트 자료를 조작, 조작한 결과가 올바른지 확인(given when then)
  • 도메인에 특화된 테스트 언어
    ㄴ 흔히 쓰는 시스템 조작 API를 사용하는 대신 API 위에다 함수와 유틸리티를 구현한 후 그 함수와 유틸리티를 사용함
  • 이중 표준
    ㄴ 프로덕션 코드와 테스트 코드가 다를 수 있음. 실제 환경에서는 절대로 안되지만 테스트 환경에서는 문제없는 방식이 있을 수 있음

테스트당 assert 하나

  • 테스트 당 개념 하나

F.I.R.S.T

  • 빠르게(Fast) : 테스트는 빨리 돌아야함
  • 독립적으로(Independent) : 테스트는 서로 의존해선 안됨
  • 반복가능하게(Repeatable) : 어떤 환경에서도 반복 가능해야 함
  • 자가검증하는(Self-Validating) : 테스트는 bool 값으로 결과를 만들어야함
  • 적시에(Timely) : 단위 테스트는 테스트하려는 실제 코드를 구현하기 직전에 구현해야 함
profile
오직 나만을 위한 글. 틀린 부분 말씀해 주시면 감사드립니다.

0개의 댓글