Skip to content

Latest commit

 

History

History
32 lines (25 loc) · 1.62 KB

220311UnitTest.md

File metadata and controls

32 lines (25 loc) · 1.62 KB

TIL 220311UnitTest

🔥학습 내용

단위 테스트(Unit Test)

  • 모든 함수와 메소드에 대한 테스트 케이스를 작성하는 절차
  • 하나의 함수, 메서드를 기준으로 독립적으로 진행되는 가장 작은 단위의 테스트
  • 해당 단위에 대해서 독립적으로 테스트를 하기 때문에 빠른 리팩토링 반영과 빠른 테스트를 진행할 수 있음
  • 코드의 확장이나 리팩토링 시에도 안정성을 확보한 채로 빠르게 대응 할 수 있음

FIRST 원칙

Fast

  • 테스트는 빠르게 동작할 수 있어야 함
  • 테스트 코드는 빠르게 확인하고, 수정하고 반영하는 데에 큰 의미가 있기 때문에 속도가 느려선 안됨

Independent/Isolated

  • 각각의 테스트는 서로 독립적이며 서로 의존해서는 안됨
  • 다른 코드에 대한 의존성을 낮춰 완전히 통제된 상황에서 테스트를 진행해야 함

Repeatable

  • 테스트는 언제 어디서나 같은 결과가 반복되어야 함
  • 통제가 어려운 부분에 대해서는 테스트를 위한 가짜 객체를 만들어 주는 방법을 선택

Self-Validating

  • 테스트는 Bool을 이용하여 성공/실패에 대해서 스스로 검증이 가능해야 함.

Timely

  • 이상적인 테스트는 테스트하려는 실제 코드를 구현하기 직전에 구현해야 함.
  • 실제 코드를 구현한 후에 테스트 코드를 작성하는 경우 테스트하기가 매우 까다롭거나 불가능할 수 있음