코드/테스트 코드 작성 방법론
단위테스트(Unit test) AAA (arrange, act, assert) 패턴
미로처럼
2024. 3. 29. 08:37
728x90
사내 코드를 정리하다 보니 전파가 필요한 테스트 코드 작성방법을 공유하고자 이 글을 정리하고 쓴다.
AAA 패턴이란 준비(arrange), 실행(act), 검증(assert) 세단계로 Test를 작성하는 패턴을 의미
모든 테스트가 단순하고 균일한 구조를 갖는데 도움이 된다(유지 보수에 유리).
- Arrange(준비)
Arrange 단계에서는 테스트 환경을 설정하는 일을 한다.
테스트에 필요한 객체, 변수 또는 데이터를 생성하고 준비
테스트 대상 객체를 초기화 하거나 설정
필요한 상태나 조건을 설정
- Act(실행)
Act 단계에서는 테스트 대상 코드를 호출하거나 실행
- Assert(검증)
Assert에서는 Act로 실행한 코드의 결과를 검증하고 예상 동작 확인
- AAA 장점
- 가독성 향성 - 각 단계가 명확하게 구분되고, 다른 개발자들이 테스트 코드를 쉽게 이해하고 따라감.
- 유지 보수성 향상 - 각 단계가 분리되어 변경 또는 확장이 필요 한 경우 해당 단계만 수정
- 버그 식별 용이성 - Assert 단계에서 예상한 결과와 다른 경우, 문제를 더 쉽게 파악할 수 있다.
- 자동화 용이 - AAA 패턴에 따르면 테스트 케이스를 자동화 하기 더 쉽다.
- 유사 테스트 GWT (Given - When - Then)
- Given - 준비(arrange)에 해당
- When - 실행(act) 에 해당
- Then - 검증(assert)에 해당
JUNIT5를 통해 굉장히 심플하고 편하게 단위 테스트 가능
728x90