단위 테스트 3장 (서버오류로 날림)

이현광·2022년 3월 15일
0

단위 테스트

목록 보기
3/6

요약

모든 단위 테스트는 AAA 패턴(준비,실행. 검증)을 따라야 한다. 테스트 내 준비나 실 행 또는 검증 구절이 여러 개 있으면,테스트가 여러 동작 단위를 한 번에 검증한다 는 표시다. 이 테스트가 단위 테스트라면 각 동작에 하나씩 여러 개의 테스트로 나 눠야 한다.

실행 구절이 한 줄 이상이면 SUT의 API에 문제가 있다는 뜻이다. 클라이언트가 항 상 이러한 작업을 같이 수행해야 하고,이로 인해 잠재적으로 모순으로 이어질 수 있다. 이러한 모순을 불변 위반이라고 한다. 잠재적인 불변 위반으로부터 코드를 보 호하는 것을 캡슐화라고 한다.

SUT의 이름을 sut로 지정해 SUT를 테스트에서 구별하자. 구절 사이에 빈 줄을 추 가하거나 준비, 실행,검증 구절 주석을 각각 앞에 둬서 구분하라.

테스트 픽스처 초기화 코드는 생성자에 두지 말고 팩토리 메서드를 도입해서 재사 용하자. 이러한 재사용은 테스트 간 결합도를 상당히 낮게 유지하고 가독성을 향상 시킨다.

엄격한 테스트 명명 정책을 시행하지 말라. 문제 도메인에 익숙한 비개발자들에게 시나리오를 설명하는 것처럼 각 테스트의 이름을 지정하자. 테스트 이름에서 밑줄 표시로 단어를 구분하고,테스트 대상 메서드 이름을 넣지 말자.

매개변수화된 테스트로 유사한 테스트에 필요한 코드의 양을 줄일 수 있다. 단점은 테스트 이름을 더 포괄적으로 만들수록 테스트 이름을 읽기 어렵게 하는 것이다.

검증문 라이브러리를 사용하면,쉬운 영어처럼 읽도록 검증문에서 단어 순서를 재 구성해 테스트 가독성을 더욱 향상시킬 수 있다.

profile
cccooodddiiinnngg

0개의 댓글