[Next.js] 커스텀 서버 및 테스트

Jimi Choi·2023년 3월 26일
0

Next.js

목록 보기
5/6
post-thumbnail
post-custom-banner

커스텀 서버

  • Next.js는 자체 서버를 제공하기 때문에 별도 서버 준비 필요 X
    • 단, 어떤 경우에서는 별도 웹서버가 필요하기도 함
    • 커스텀 웹 서버에서 실행할 수 있는 직관적 API 제공

커스텀 서버가 필요한 경우

  1. Next.js 웹 애플리케이션을 기존 서버에서 실행하는 경우 (리팩터링)
  2. 멀티테넌시 지원이 필요한 경우
    • 멀테테넌시란? 단일 인스턴스가 여러 고객에게 서비스를 제공하는 아키텍처
      ex. 웹메일 등
  3. 더 세밀한 제어가 필요한 경우

커스텀 서버의 단점

  • 커스텀 서버는 Next.js에 최적화된 Vercel에 배포할 수 없음
  • 더 많은 코드를 작성하고 유지보수해야함


테스트란?

  1. 단위 테스트
    • 코드의 각 함수가 제대로 작동하는지 확인하기 위한 테스트
  2. 엔드 투 엔드 테스트 (e2e 테스트)
    • 애플리케이션에 대한 사용자 상호 작용을 흉내내서 특정 작동이 발생했을때 적절한 응답을 하는지 확인하기 위한 테스트
  3. 통합 테스트
    • 애플리케이션에서 서로 구분되어있는 영역이 함께 잘 작동하는지 확인하기 위한 테스트
    • 서로 연관된 함수와 모듈을 한데 묶어 적절한 출력을 만들어내는지 검사함

Jest를 이용한 단위 및 통합 테스트

// Jest는 테스트 프레임워크인 동시에 테스트 러너이므로 패키지 하나만 설치
yarn add -D jest

❗ 주의점
Next.js는 pages/ 안의 모든 .js 관련 파일을 애플리케이션 페이지로 간주하므로 테스트 파일을 pages/ 안에 두면 안됨

post-custom-banner

0개의 댓글