테스트코드/개요

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()

 

참조

 

반응형

'테스트코드 > 개요' 카테고리의 다른 글

6. 단위 테스트 스타일  (0) 2024.03.25
5. 목과 테스트의 취약성  (0) 2024.03.25
4. 좋은 단위 테스트의 4대 요소  (2) 2024.03.25
2. 단위 테스트란 무엇인가  (1) 2024.03.25
1. 단위 테스트의 목표  (1) 2024.03.25