Skip to main content

Configurando teste

  • Configurando teste

Instalando pacotes

npm i -D babel-jest npm i -D jest-environment-jsdom

Jest.config

/**
* For a detailed explanation regarding each configuration property, visit:
* https://jestjs.io/docs/configuration
*/

import type { Config } from "jest";

const config: Config = {
//preset: "ts-jest",
testEnvironment: "jsdom", //jsdom (package: jest-environment-jsdom) | node
//collectCoverage: true,
//coverageDirectory: "coverage",
//coverageProvider: "v8",
modulePaths: ["<rootDir>"],
moduleDirectories: ["node_modules", "src"],
transform: {
//https://jestjs.io/docs/configuration#transform-objectstring-pathtotransformer--pathtotransformer-object */
"^.+\\.(js|jsx|ts|tsx)$": ["babel-jest", { presets: ["next/babel"] }],
},
//.....
//convertendo o paths do tsconfig para o jest entender os caminhos
moduleNameMapper: {
// https://jestjs.io/docs/webpack#handling-static-assets
'^.+\\.(jpg|jpeg|png|gif|webp|avif|svg)$': `<rootDir>/.jest/__mocks__/fileMock.ts`,

"^@/styles/(.*)$": "<rootDir>/src/styles/$1",
"^@/components/(.*)$": "<rootDir>/src/components/$1",
"^@/pages/(.*)$": "<rootDir>/src/pages/$1",
"^@/core/(.*)$": "<rootDir>/src/core/$1",
"^@/hooks/(.*)$": "<rootDir>/src/hooks/$1",
"^@/utils/(.*)$": "<rootDir>/src/utils/$1",
"^@/public/(.*)$": "<rootDir>/public/$1",
},
};

export default config;