로그인, 회원가입

jest 문법

설치

pnpm add --save-dev jest

예시

예를 들어 두 숫자를 더한다고 생각했을 때

Sum.js 파일을 만들고 아래와 같이 작성한다

function sum(a, b) {
  return a + b;
}
module.exports = sum;

그리고 파일 이름을 sum.test.js와 같이 작성하는데

이 파일은 우리가 실제로 테스트할 내용이 담겨져 있다.

const sum = require('./sum');

test('adds 1 + 2 to equal 3', () => {
  expect(sum(1, 2)).toBe(3);
});

패키지에 다음과 같이 추가 한다

{
  "scripts": {
    "test": "jest"
  }
}

마지막으로 pnpm test를 입역하게 되면 jest가 아래와 같이 화면에 출력할 것이다.

PASS  ./sum.test.js
✓ adds 1 + 2 to equal 3 (5ms)

Next.js 테스트 코드

jest.config.ts 루트 프로젝트에 생성

import type { Config } from 'jest';
import nextJest from 'next/jest.js';

const createJestConfig = nextJest({
  dir: './',
});

const config: Config = {
  coverageProvider: 'v8',
  testEnvironment: 'jsdom',
  moduleNameMapper: {
    '^@/components/(.*)$': '<rootDir>/components/$1',
  },
  setupFilesAfterEnv: ['<rootDir>/jest.setup.ts'],
};

export default createJestConfig(config);

setup파일 : jest.setup.js 파일을 생성하여 테스트 환경을 초기화

import '@testing-library/jest-dom';