ReactNextCentral

테스팅

Published on
Cypress, Playwright, Vitest, Jest 네 가지 테스팅 도구를 Next.js에 설정하는 방법을 배워보세요.

리액트와 Next.js에서는 목적과 사용 사례에 따라 다양한 유형의 테스트를 작성할 수 있습니다. 이 페이지에서는 애플리케이션을 테스트할 때 사용할 수 있는 유형과 일반적으로 사용되는 도구에 대한 개요를 제공합니다.

테스트 유형

  • 단위 테스트는 개별 단위(또는 코드 블록)를 독립적으로 테스트하는 것을 말합니다. 리액트에서 단위는 단일 함수, 후크 또는 컴포넌트가 될 수 있습니다.
    • 컴포넌트 테스트는 단위 테스트의 더 집중된 버전으로, 테스트의 주된 대상이 리액트 컴포넌트입니다. 이는 컴포넌트의 렌더링 방식, props와의 상호 작용 및 사용자 이벤트에 대한 반응 방식을 테스트할 수 있습니다.
    • 통합 테스트는 여러 단위가 함께 작동하는 방식을 테스트합니다. 이는 컴포넌트, 후크 및 함수의 조합일 수 있습니다.
  • End-to-End (E2E) 테스트는 실제 사용자 시나리오를 시뮬레이션하는 환경에서 사용자 흐름을 테스트하는 것을 말합니다. 예를 들어, 생산 환경과 유사한 환경에서 특정 작업(예: 가입 흐름)을 테스트합니다.
  • 스냅샷 테스트는 컴포넌트의 렌더링 출력을 캡처하고 스냅샷 파일에 저장하는 것을 포함합니다. 테스트를 실행할 때 컴포넌트의 현재 렌더링 출력이 저장된 스냅샷과 비교됩니다. 스냅샷의 변경 사항은 예상치 못한 동작 변경을 나타내는 데 사용됩니다.

Async 서버 컴포넌트

async 서버 컴포넌트는 리액트 생태계에 새로워 일부 도구에서 완전히 지원되지 않습니다. 그 동안에는 단위 테스트보다 End-to-End 테스트를 사용하는 것이 좋습니다.

가이드

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

Vitest

Next.js에서 단위 테스트를 위해 Vitest를 설정하는 방법을 배워보세요.

View

Jest

Next.js에서 단위 테스트와 스냅샷 테스트를 위해 Jest를 설정하는 방법을 배워보세요.

View

Playwright

Next.js에서 End-to-End(E2E) 테스트를 위해 Playwright를 설정하는 방법을 배워보세요.

View

Cypress

Next.js에서 End-to-End(E2E) 및 컴포넌트 테스팅을 위해 Cypress를 설정하는 방법을 배워보세요.

View