테스트코드/개요

3. 단위 테스트 구조

feel2 2024. 3. 25. 20:00
반응형

3. 단위 테스트 구조

 

단위 테스트의 구조

  • 크게 AAA 패턴과 Given-When-Then 패턴
    • 준비 (Arrange, Given)
    • 실행 (Act, When)
    • 검증 (Assert, Then)

 

 

단위 테스트 안티 패턴

  • 테스트 간에 높은 결합도를 가지면 안된다.
    • 테스트를 수정해도 다른 테스트에 영향이 있으면 안됨
  • 준비(Given) 단계에서 생성자로 SUT를 준비하면 테스트 가독성이 떨어짐
    • 테스트만 보고 큰 그림을 보기 힘듦
    • 정적 팩토리 메서드나 빌더 패턴을 이용해서 SUT나 협력자를 준비하자.

 

 

단위 테스트 명명 지침

  • 엄격한 명명 정책을 따르지 않는다.
    • 표현의 자유를 허용하자
  • 비개발자들에게 시나리오를 설명하는 것처럼 테스트 이름을 짓자.
  • 단어를 밑줄(_)로 구분하자.
    • 가독성이 향상 된다.
  • 유틸리티 코드의 경우 함수 이름, 기댓값을 명명해도 좋다.
  • 좋은 명명 규칙 예
    • Delivery_with_a_past_date_is_valid()
    • Can_detect_an_invalid_delivery_date()

 

참조

 

반응형