gpt4 book ai didi

javascript - JEST 单元测试脚本失败,TypeError : this. _environment.runScript is not a function

转载 作者:行者123 更新时间:2023-12-05 00:33:23 28 4
gpt4 key购买 nike

我被分配了为 Vue 应用程序设置 Jest 单元测试的任务。由于这里的其他问题,我曾多次尝试完成它并在途中解决了几个问题。但是,现在我在执行 npm run test:unit 时遇到了以下错误。 (“测试:单元”:“vue-cli-service 测试:单元”):

TypeError: this._environment.runScript is not a function

at Runtime._execModule (node_modules/@vue/cli-plugin-unit-jest/node_modules/jest-runtime/build/index.js:856:41)
以下是我添加到 package.json 中的 Jest 配置:
"jest": {
"testEnvironment": "jsdom",
"preset": "ts-jest",
"moduleNameMapper": {
"\\.(css|less|sass|scss)$": "<rootDir>/tests/mocks/styleMock.js",
"^@/(.*)$": "<rootDir>/src/$1"
},
"transform": {
"<rootDir>/src/data/.+\\.(j|t)sx?$": "ts-jest",
".*\\.(vue)$": "vue-jest",
".*\\.(js)$": "babel-jest"
},
"transformIgnorePatterns": [
"/node_modules/(?!vuetify)",
"<rootDir>/src/(?!data/.*)"
],
"testPathIgnorePatterns": [
"/node_modules/(?!vuetify)"
]
}
最初,我有 testEnvironment 的“节点”。但是我第一次得到 this._environment.runScript is not a function 错误。我读过我可以改用“jsdom”。为此,我更新了 babel.config.js:
module.exports = {
env: {
test: {
presets: [['env', { targets: { node: 'current' } }]],
plugins: ['@babel/plugin-transform-modules-commonjs'],
},
},
}
但这导致错误说 babel-preset-env 模块丢失。据我了解,该模块不再是独立模块。所以,我改变了 babel.config.js:
module.exports = {
presets: [
[
'@babel/preset-env',
{
modules: 'commonjs',
targets: {
node: 'current',
},
},
],
],
}
现在我回到 TypeError:this._environment.runScript 不是函数。有没有人遇到过类似的问题?感谢您的帮助。

最佳答案

^24 升级 Jest至^27为我修好了。现在我的测试再次运行。
几天前我升级了 Nodejs,也许这导致了这个问题。

关于javascript - JEST 单元测试脚本失败,TypeError : this. _environment.runScript is not a function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71117593/

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