TIL - Unit Test

Taesol Kwon·2020년 3월 30일
0

Wecode

목록 보기
23/32

Unit Test

  • Unit Test 란? 메서드를 테스트하는 또 다른 메서드이다.

  • Unit Test 하는 이유

    • 연관 컴포넌트의 제작이 완료되지 않더라도 코드 푸쉬 가능
    • 단위 테스트 스위트를 이용하여 새로운 기능의 추가 및 기존 기능의 수정에 대해 이전 코드의 정상동작을 확인 가능
    • Class 설계 변경에 대한 리펙토링이 일어날 때 정당성 부여 가능
    • 구현 코드의 품질 향상 기능
    • 구현 코드의 예제 소스 역할
  • F.I.R.S.T 원칙

    • Fast : 유닛 테스트는 빨라야 한다.
    • Isolated : 다른 테스트에 종속적인 테스트는 절대로 작성하지 않는다.
    • Repeatable : 테스트는 실행할 때마다 같은 결과를 만들어야 한다.
    • Self-validating : 테스트는 스스로 결과물이 옳은지 그른지 판단할 수 있어야 한다. 특정 상태를 수동으로 미리 만들어야 동작하는 테스트 등은 작성하지 않는다.
    • Timely : 유닛 테스트는 프로덕션 코드가 테스트를 성공하기 직전에 구성되어야 한다. 테스트 주도 개발(TDD) 방법론에 적합한 원칙이지만 실제로 적용되지 않는 경우도 있다.

TDD => "새로운 기능의 코드 테스트시"
Test Last => "기존 코드 테스트시"

  • [ Code easy to test ] => 순수함수
  • [ Code hard to test ]
    => 중요도가 높은 비즈니스 로직이 포함된 부분
    => 버그가 발견된 부분(과거x)
    => 결합이 낮고 논리는 복잡한 부분
  • [ 불필요한 테스트]
    • 비즈니스와 관련된 버그를 낼 가능성이 낮거나 없을 때
    • 테스트를 유지함으로써 얻는 이익 < 테스트 유지와 관리에 드는 비용 일 때
    • 테스트가 단언하고 있는 내용이 사용자에게 중요한 가치를 주는 것이 아닐 때
profile
사진촬영을 좋아하는 프론트엔드 개발자입니다.

0개의 댓글