gpt4 book ai didi

reactjs - Jest setupTestFrameworkScriptFile 或 setupFiles ES6 语法

转载 作者:行者123 更新时间:2023-12-03 13:36:38 25 4
gpt4 key购买 nike

我是 Jest 新手。我在 CI 圈上遇到错误。我的 setup.js 文件具有 ES6 语法。由于每次运行测试时都会执行 setupTestFrameworkScriptFile 上的文件,我认为我可以使用 ES6 语法,但 babel-jest 不会转译它。常规测试(例如 react 组件的单元测试)会被转译。在本地环境中,安装文件被编译。

 SyntaxError: Unexpected token {

at ScriptTransformer._transformAndBuildScript (node_modules/jest/node_modules/jest-cli/node_modules/jest-runtime/build/script_transformer.js:305:17)
at Object.<anonymous> (test/setup.js:1:869)
at next (native)

我的 Jest 配置文件如下所示。

{
"verbose": true,
"transform": {
"^.+\\.(js|jsx)$": "babel-jest"
},
"transformIgnorePatterns": [
"node_modules/(?!my-module)"
],
"snapshotSerializers": [
"jest-serializer-enzyme"
],
"setupTestFrameworkScriptFile": "<rootDir>/test/setup.js",
"globals": {
"__PROD__": false,
"__STG__": false
},
"moduleDirectories": [
"node_modules"
],
"testRegex": "(/__tests__/.*|__test__.js)$",
"moduleFileExtensions": [
"css",
"jsx",
"js",
"scss",
"svg"
],
"moduleNameMapper": {
"\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/test/fileMock.js",
"^.+\\.(css|less|scss)$": "<rootDir>/test/styleMock.js"
}
}

我是否错过任何设置?

最佳答案

Jest 不会通过转译步骤推送 setup.js 脚本。 Jest 将转译您的测试代码,然后在不转译的情况下运行您的设置脚本,然后运行您的测试代码。只要用 ES5 语法编写就可以了。

关于reactjs - Jest setupTestFrameworkScriptFile 或 setupFiles ES6 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46859048/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com