首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在package.json中设置任务

在package.json中设置任务
EN

Stack Overflow用户
提问于 2017-05-23 15:08:58
回答 1查看 1.5K关注 0票数 0

我正在尝试在package.json中设置一个任务

代码语言:javascript
复制
"scripts": {
    "unit-test": "mocha './test/unit/**/*.spec.js'",
 }

但是当我跑的时候

代码语言:javascript
复制
npm run unit-test

在运行结束时,控制台中将引发以下错误:

代码语言:javascript
复制
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

但是,如果我将命令更改为

代码语言:javascript
复制
"scripts" : {
 "unit-test": "mocha './test/unit/**/*.spec.js'; exit 0",
}

不会引发此错误。不过,我不知道这是否正确的做法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-23 15:19:13

最初的行为是正确的,如果您的测试失败,Mocha返回退出代码1,这在技术上是一个错误。第二个示例使输出更漂亮,但是如果您试图将构建脚本集成到其他工具(例如特拉维斯)中,则会导致问题,因为当测试失败时,它们将无法检测到。

对此最好的解决方案是摆脱exit 0并升级您的NPM - 在4.6.1版中,产出大大缩短了版本。您可以通过运行以下命令来做到这一点:

代码语言:javascript
复制
npm install npm -g
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44138648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档