'npm run test'有效,但是'jest --coverage'命令不起作用

时间:2020-02-13 15:31:23

标签: javascript reactjs npm jestjs lerna

我有一个MonoRepo项目(使用Lerna),该项目包含多个软件包,其中一个是React应用程序。

在React项目包中,我利用Jest进行单元测试。但是,当我在WebStorm控制台上运行jest --coverage命令时,它将返回以下错误:

zsh:找不到命令:开玩笑

奇怪的是,如果我使用npm run test,则会运行测试,并生成测试覆盖率报告。这是我的package.json的一部分:

"scripts": {
  "test": "jest --coverage",
  // other stuff
},

如您所见,npm run test运行jest --coverage,这是我最初输入的确切命令。为什么jest命令不能单独工作?

2 个答案:

答案 0 :(得分:0)

您需要像这样直接从node_modules运行它:

./node_modules/.bin/jest --coverage

有关更多信息,请参见https://jestjs.io/docs/en/getting-started#running-from-command-line

答案 1 :(得分:0)

最直接的解决方案是使用以下命令在全局范围内安装Jest:

npm i -g jest