Aid*_*rov 6 unit-testing jestjs react-typescript
尝试在我的项目上配置 jest env,当我运行简单的测试用例时出现以下错误:
Test suit failed to run
TypeError: Jest: a transform must export a 'process' function
at ScriptTransformer._getTransformer(../../node_modules/jest-runtime/node_modules/@jest/transform/build/ScriptTransformer.js:360.13)
Run Code Online (Sandbox Code Playgroud)
小智 0
我专门针对 css/scss 模块遇到了这个问题。
通过安装jest-css-modules-transform
npm 包解决了这个问题。
module.exports = {
testPathIgnorePatterns: ["<rootDir>/.next/", "<rootDir>/node_modules/"],
setupFilesAfterEnv: ["<rootDir>/setupTests.js"],
transform: {
"^.+\\.(js|jsx|ts|tsx)$": "<rootDir>/node_modules/babel-jest",
"\\.(css|less|scss|sass)$":
"<rootDir>/node_modules/jest-css-modules-transform",
},
};
Run Code Online (Sandbox Code Playgroud)
但是当我使用下面的配置(使用 styleMock.js 创建的转换方法)时,我收到了上述错误。
module.exports = {
testPathIgnorePatterns: ["<rootDir>/.next/", "<rootDir>/node_modules/"],
setupFilesAfterEnv: ["<rootDir>/setupTests.js"],
transform: {
"^.+\\.(js|jsx|ts|tsx)$": "<rootDir>/node_modules/babel-jest",
"\\.(css|less|scss|sass)$": "<rootDir>/test/styleMock.js",
},
};
Run Code Online (Sandbox Code Playgroud)
希望这对同一地区的人有所帮助。