2025-07-27 01:38
Status:
유닛 테스트
애플리케이션 가장 작은 단위(함수, 메서트, 컴포넌트)를 격리하여 테스트 각 유닛이 명세에 부합하는 동작 수행 보장 직접 실행 후 로그로 찍으면 모든 기능 다 동작해야 결과 알 수 있는데 원하는 기능만 골라서 테스트 가능 작고, 간단하고, 세부 구현에 의존하지 않게, 결과 중심으로 테스트 빠르고, 독립적, 반복 가능하게 설계
AAA 패턴
- Arrange(준비): 테스트 환경 설정, 대상 유닛과 의존성 격리해 통제된 환경 만듬
- 객체 인스턴스, 목데이터 객체, 환경 설정
- Act(실행): 테스트 하고자 하는 핵심 동작 수행, 보통 한줄의 코드
- Assert(검증): 예상한 대로 동작했는지 확인
파라미터라이즈드 테스트
3.3 파라미터라이즈드 테스트 심화 인자만 바뀌고 함수는 똑같을때 매번 하나하나 다 만들기 어려우니 each 로 여러 테스트를 한번에 묶어서 진행 동일 테스트 로직을 여러 입력값으로 반복 실행 폼 유효성, API 응답 처리, 계산 로직등 테스트 할때도 사용 가능
언제 테스트 작성하는가?
모든 경우에서 테스트가 반드시 필요한 것은 아님 유지보수 없는 SI 프로젝트의 경우 QA 만 넘기고 테스트는 안만드는게 합리적일 수 있음
하지만 코드가 자주 깨지고 안정성이 떨어질때, 테스트를 작성하는게 작성하지 않는 것 보다 더 쉬울땐 테스트를 작성하는게 좋다