반응형
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()
참조
- 단위테스트(블라디미르 크리코프)
- https://blog.outsider.ne.kr/1628
반응형
'테스트코드 > 개요' 카테고리의 다른 글
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 |