문서
App Router 사용하기
테스트

테스트

React와 Next.js에서는 각각 고유한 목적과 사용 사례를 가진 몇 가지 다른 유형의 테스트를 작성할 수 있습니다. 이 페이지에서는 애플리케이션 테스트에 사용할 수 있는 유형과 일반적으로 사용되는 도구에 대한 개요를 제공합니다.

테스트 유형

  • 단위 테스팅은 개별 단위(또는 코드 블록)를 격리된 상태에서 테스트하는 것을 포함합니다. React에서 단위는 단일 함수, 훅 또는 컴포넌트가 될 수 있습니다.
    • 컴포넌트 테스팅은 React 컴포넌트가 테스트의 주요 대상인 단위 테스팅의 더 집중된 버전입니다. 이는 컴포넌트가 어떻게 렌더링되는지, props와 어떻게 상호 작용하는지, 사용자 이벤트에 대한 반응을 테스트하는 것을 포함할 수 있습니다.
    • 통합 테스팅은 여러 단위가 함께 작동하는 방식을 테스트하는 것을 포함합니다. 이는 컴포넌트, 훅 및 함수의 조합일 수 있습니다.
  • 엔드-투-엔드 (E2E) 테스팅은 실제 사용자 시나리오를 시뮬레이션하는 환경에서 사용자 흐름을 테스트하는 것을 포함합니다. 이는 프로덕션과 유사한 환경에서 특정 작업(예: 회원가입 흐름)을 테스트하는 것을 의미합니다.
  • 스냅샷 테스팅은 컴포넌트의 렌더링된 출력을 캡처하여 스냅샷 파일에 저장하는 것을 포함합니다. 테스트가 실행될 때, 컴포넌트의 현재 렌더링된 출력이 저장된 스냅샷과 비교됩니다. 스냅샷의 변경은 예상치 못한 동작 변화를 나타내는 데 사용됩니다.

비동기 서버 컴포넌트

async 서버 컴포넌트는 React 생태계에 새로 도입된 것이기 때문에 일부 도구는 이를 완전히 지원하지 않습니다. 그 동안, async 컴포넌트에 대해 단위 테스팅 대신 엔드-투-엔드 테스팅을 사용하는 것을 권장합니다.

가이드

아래 가이드를 참조하여 이러한 일반적으로 사용되는 테스팅 도구와 함께 Next.js를 설정하는 방법을 알아보세요: