가독성을 높인다는 것은 코드를 읽는 사람이 해당 테스트가 무엇을, 어디에서 하는지 쉽게 파악할 수 있다는 것을 말합니다. 가독성을 높이려면 아래 4가지 요소를 잘 다뤄야 하는데, 하나씩 살펴보도록 하겠습니다.
- 단위 테스트 이름
- 변수 이름
- 검증과 실행 단계의 분리
- 초기화 및 설정 해제
단위 테스트 이름 짓기
테스트를 명확하게 설명하기 위해서는 대상, 상황, 결과에 대한 정보를 표현해야 합니다. 이를 USE전략이라고 부르며, 테스트하려는 대상(Unit), 입력 값이나 상황에 대한 설명(Scenario), 기댓값이나 결과에 대한 설명(Expectation) 3가지 정보를 포함시켜줍니다.
이때, 테스트하려는 대상으로는 작업 단위의 진입점 또는 현재 테스트 중인 기능 이름을 기재해줍니다.
매직 넘버와 변수 이름
매직 넘버란 어떤 의미인지 모를 값을 표현한 것을 말합니다. 하드코딩된 값, 기록에 남지 않는 값, 명확하게 이해되지 않는 상수나 변수 등이 있습니다. 읽는 사람이 파악할 수 없는 매직 넘버가 있다면 이를 의미 있는 변수로 대체하여 정보를 전달하도록 합니다.
검증과 실행 단계 분리
검증과 실행 단계를 한번에 써주면 이해하기도 어려울 뿐더러, 디버깅하기도 어렵습니다. 반면, 분리를 했을 때는 검증 결과를 확인하기도 수월하고, 훨씬 쉽게 읽힐 수 있습니다.
초기화 및 설정 해제
초기화 함수에서 목과 스텁을 설정하면 테스트 내에서는 해당 객체를 어디서 만들었는지 찾을 수가 없기 때문에 테스트를 읽는 사람은 모의 객체가 사용되었다는 사실 자체, 또는 모의 객체가 어떤 값이나 동작을 수행하는지 알지 못할 수 있습니다. 따라서 초기화를 테스트 안에서 하거나, 유지 보수성을 신경쓴다면 팩토리 함수를 활용하여 모의 객체를 생성하고 이를 여러 테스트에서 사용할 수 있도록 구성할 수도 있습니다.
참고자료
- 단위 테스트의 기술, 길벗
- 도서 코드 예제 깃헙
'Dev > 테스트 코드' 카테고리의 다른 글
더 나은 테스트 전략 수립(테스트 수준/ 테스트 레시피/ 배포 파이프라인) (0) | 2025.03.28 |
---|---|
좋은 테스트의 조건 - 유지보수성 (0) | 2025.03.27 |
좋은 테스트의 조건 - 신뢰성 (0) | 2025.03.26 |
비동기 코드 단위 테스트 (0) | 2025.03.16 |
격리 프레임워크 (0) | 2025.03.07 |