未找到 testResultsProcessor 选项中的模块“jest-junit”

Kev*_*gia 9 javascript jestjs

我已经设置jestjest-junit作为记者并遵循了 jest-junit 给出的简单说明。

这包括npm install jest --save-devnpm install jest-junit --save-dev

我的package.json样子是这样的(摘录):

  "devDependencies": { 
    "jest": "^22.4.4",
    "jest-junit": "^4.0.0",
  },
  "scripts": {
    "test": "jest --ci --testResultsProcessor='jest-junit'"
  },
  "jest": {
    "verbose": true,
    "testResultsProcessor": "jest-junit"
  },
  "jest-junit": {
    "suiteName": "Test Suite",
    "output": "./junit.xml"
  }
Run Code Online (Sandbox Code Playgroud)

npm run test在我的机器 (OSX) 上运行时,它运行良好。当它作为 CI 构建过程的一部分或在另一台 Windows 机器上运行时,我收到以下错误:

未找到 testResultsProcessor 选项中的模块“jest-junit”。

Tuu*_*ula 6

也许您只需要将缺少的模块安装到另一台机器上:

npm install jest-junit
Run Code Online (Sandbox Code Playgroud)

  • 编辑原始问题。包含“jest-junit”作为 devDependency 并在运行“npm run test”之前运行“npm install”(没有错误) (2认同)

Kev*_*gia 6

找到了解决方案,它是删除引号。

"test": "jest --ci --testResultsProcessor='jest-junit'"
Run Code Online (Sandbox Code Playgroud)

应该成为

"test": "jest --ci --testResultsProcessor=jest-junit"
Run Code Online (Sandbox Code Playgroud)