小编Tol*_*iNY的帖子

JEST 单元测试脚本失败并出现 TypeError: this._environment.runScript 不是函数

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

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)
Run Code Online (Sandbox Code Playgroud)

以下是我添加到 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)"
    ]
  }
Run Code Online (Sandbox Code Playgroud)

最初,我有用于测试环境的“节点”。但我第一次收到 this._environment.runScript is not a function 错误。我读到可以使用“jsdom”代替。为此我更新了 babel.config.js:

module.exports = {
   env: {
     test: {
       presets: [['env', { targets: { node: 'current' } …
Run Code Online (Sandbox Code Playgroud)

javascript unit-testing jestjs vuejs2

8
推荐指数
1
解决办法
3904
查看次数

标签 统计

javascript ×1

jestjs ×1

unit-testing ×1

vuejs2 ×1