좋은 테스트 원칙

  1. 한번 작성된 테스트 코드는 유지보수가 계속 되야 한다.
  2. 내부 구현 사항을 테스트하면 안된다. (사용자 입장에서 api만으로 테스트 해야된다.) → 구현사항이나 내부 구현사항이 조금만 바뀌면 실패하기 때문에 조심해야한다.
  3. 반복적인 테스트 코드는 재사용성 높이기
  4. 배포용 코드와 분리 (ignore)
  5. 테스트코드를 통한 문서화

테스트 구조

Given(Arrange - 준비) → When (Act)→ Then(Assert)

Untitled

Given - 준비 과정 재사용

When - 의도적으로 실패한 후 코드 수정

Then - 마지막에


좋은 테스트 원칙

FIRST

  1. FAST - 느린것에 대한 의존성 낮추기 (파일, 데이터베이스, 네트워크처럼 오래 걸리는 것들 의존성 낮추기 ⇒ mock, stub)

  2. Isolated - 최소한의 유닛으로 검증하기 (독립적이고 집중적으로 유지)

  3. Repeatable - 실행할 때마다 동일한 결과를 유지 (다른 테스트에 의존되는 경우 - 환경에 영향을 받지 않도록 작성해야 한다.)