mocha运行NPM测试但不是常规的mocha CLI命令

时间:2015-06-29 15:32:02

标签: node.js npm mocha

我试图了解在这种情况下我做错了什么。我有一个Node.js项目,我的package.json

中包含以下内容
  "scripts": {
    "test": "mocha --recursive ./src/setup/*.js ./test/**/*.js"
  },
  "dependencies": {
     "mocha": "^2.2.5"
  }

当我跑'npm test' mocha测试正确运行:

$ npm test (successful run)

然而,当我尝试运行mocha命令时,我的package.json

就在那里
$ mocha --recursive ./src/setup/*.js ./test/**/*.js"

此错误:

-sh: mocha: command not found

我没有全局安装mocha,我只是通过npm安装到这个特定的项目。

如果我在全局安装mocha,那么它可以工作。当我只是在当前目录的node_modules中安装了mocha时,为什么它不起作用,但是它使用' npm test'?

1 个答案:

答案 0 :(得分:8)

npm脚本自动将mocha添加到PATH:

  

如果依赖于定义可执行脚本的模块(如测试套件),那么这些可执行文件将添加到PATH中以执行脚本。

https://docs.npmjs.com/misc/scripts#path