我正在尝试在package.json中设置一个任务
"scripts": {
"unit-test": "mocha './test/unit/**/*.spec.js'",
}但是当我跑的时候
npm run unit-test在运行结束时,控制台中将引发以下错误:
npm ERR! Darwin 16.6.0
npm ERR! argv "/Users/shreya.vakil/.nvm/v6.9.5/bin/node" "/Users/d.bubble/.nvm/v6.9.5/bin/npm" "run" "unit-test"
npm ERR! node v6.9.5
npm ERR! npm v3.10.10
npm ERR! code ELIFECYCLE
npm ERR! myapp@0.0.1-SNAPSHOT unit-test: `mocha './test/unit/**/*.spec.js'`
npm ERR! Exit status 1但是,如果我将命令更改为
"scripts" : {
"unit-test": "mocha './test/unit/**/*.spec.js'; exit 0",
}不会引发此错误。不过,我不知道这是否正确的做法。
发布于 2017-05-23 15:19:13
最初的行为是正确的,如果您的测试失败,Mocha返回退出代码1,这在技术上是一个错误。第二个示例使输出更漂亮,但是如果您试图将构建脚本集成到其他工具(例如特拉维斯)中,则会导致问题,因为当测试失败时,它们将无法检测到。
对此最好的解决方案是摆脱exit 0并升级您的NPM - 在4.6.1版中,产出大大缩短了版本。您可以通过运行以下命令来做到这一点:
npm install npm -ghttps://stackoverflow.com/questions/44138648
复制相似问题