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