React + TypeScript + ESlint
jest & React Testing Library
Copy npm i -D jest @types/jest ts-jest(?)
npm i -D @testing-library/react jest-environment-jsdom @testing-library/jest-dom
npm i -D jest-svg-transformer identity-obj-proxy
Copy export default {
testEnvironment: "jsdom",
transform: {
"^.+\\.tsx?$": "ts-jest",
},
moduleNameMapper: {
"^.+\\.svg$": "jest-svg-transformer",
"\\.(css|less|sass|scss)$": "identity-obj-proxy",
},
setupFilesAfterEnv: ["<rootDir>/src/setupTests.ts"],
};
module 사용하면 이슈 있는데 아직 정확한 이유를 몰라 ts로 생성
Copy module.exports = {
testEnvironment: "jsdom",
transform: {
"^.+\\.tsx?$": "ts-jest",
},
moduleNameMapper: {
"^.+\\.svg$": "jest-svg-transformer",
"\\.(css|less|sass|scss)$": "identity-obj-proxy",
},
setupFilesAfterEnv: ["<rootDir>/src/setupTests.ts"],
};
Copy {
setupFilesAfterEnv: ["<rootDir>/src/setupTests.ts"],
};
jest.config.ts
설정한 root로 설정해야한다.
Copy // src/setupTests.ts
import '@testing-library/jest-dom'; // 👈🏻 작성해야함.
Copy "scripts": {
// ...(중략)...
"test": "jest",
"watch:test": "jest --watchAll"
},