테스트 코드 작성 패턴

홍건의·2024년 11월 5일
0

3A 패턴

준비, 실행, 검증으로 분리하는 패턴.
3단계를 주석으로 적음으로써 명확하게 세 부분을 나누는 것이 가독성에 좋다.

실행의 경우에

실행 메소드는 하나로 끝내야 바람직하다.
왜냐하면 후속 메소드는 실행되지 않을 경우, 올바르게 검증했다고 볼 수 없기 때문이다.

추가 이상적인 테스트 코드 작성 패턴

+ 여러 개의 준비, 실행, 검증 구절은 피해야 한다.
+ if문은 테스트를 읽고 이해하는 것을 어렵게 만들기 때문에 여러 개의 테스트 코드로 나눠야 한다.

테스트 명명법

함수

[테스트 대상 메서드][시나리오][예상 결과]

클래스

[클래스명]Test

그런데 반드시 해당 클래스만 검증하는 것으로 제한하는 걸 의미하지는 않는다.

재사용 부분 작성 패턴

private factory method로 명시하는게 좋다.
생성자에 적을 경우, 다른 테스트 메소드에 영향을 줄 수 있다.

테스트 클래스에 공유상태를 두지 말아야 한다.

DB 연결의 경우에

이 경우는 생성자에 적거나, Base Class에 적고 상속 받는 것도 방법이다.
DB 연결에 한정해서 개별 테스트 클래스가 아니라 생성자에서 연결을 초기화하는 것이 합리적이다.

좋은 단위 테스트 요소

  • 회귀 방지
  • 리팩터링 내성
  • 빠른 피드백
  • 유지보수성
profile
Backend Developer

0개의 댓글

관련 채용 정보