2025-07-27 01:38

Status:

Tags: 소프트웨어 공학 리액트 넥스트

유닛 테스트

애플리케이션 가장 작은 단위(함수, 메서트, 컴포넌트)를 격리하여 테스트 각 유닛이 명세에 부합하는 동작 수행 보장 직접 실행 후 로그로 찍으면 모든 기능 다 동작해야 결과 알 수 있는데 원하는 기능만 골라서 테스트 가능 작고, 간단하고, 세부 구현에 의존하지 않게, 결과 중심으로 테스트 빠르고, 독립적, 반복 가능하게 설계

AAA 패턴

3.1 기본 구성 - AAA 패턴 심화 이해

  1. Arrange(준비): 테스트 환경 설정, 대상 유닛과 의존성 격리해 통제된 환경 만듬
    • 객체 인스턴스, 목데이터 객체, 환경 설정
  2. Act(실행): 테스트 하고자 하는 핵심 동작 수행, 보통 한줄의 코드
  3. Assert(검증): 예상한 대로 동작했는지 확인

파라미터라이즈드 테스트

3.3 파라미터라이즈드 테스트 심화 인자만 바뀌고 함수는 똑같을때 매번 하나하나 다 만들기 어려우니 each 로 여러 테스트를 한번에 묶어서 진행 동일 테스트 로직을 여러 입력값으로 반복 실행 폼 유효성, API 응답 처리, 계산 로직등 테스트 할때도 사용 가능

넥스트에서는 주로 제스트 를 가장 많이 사용한다.

언제 테스트 작성하는가?

모든 경우에서 테스트가 반드시 필요한 것은 아님 유지보수 없는 SI 프로젝트의 경우 QA 만 넘기고 테스트는 안만드는게 합리적일 수 있음

하지만 코드가 자주 깨지고 안정성이 떨어질때, 테스트를 작성하는게 작성하지 않는 것 보다 더 쉬울땐 테스트를 작성하는게 좋다

References

컴포넌트 유닛 테스트 핸드북 유닛 테스트 구조 및 워크플로 상세 가이드