如何解决尽管在测试脚本中抛出了错误,但未阻止“npm 发布”
如果我没记错的话,使用测试脚本的一个很好的理由是防止发布有缺陷的代码。因此,我编写了自己的测试脚本,如果其中一个测试用例失败,则会引发错误。
// index.test.js
if (!testCase) {
throw new Error("Error detected,publishing process supposed to be canceled!");
}
// package.json
"scripts": {
"test": "node index.test.js","prepublishOnly": "npm test"
},
现在,当我运行 npm publish
时,我的测试脚本按预期执行,引发错误,但我的 npm 包仍然发布。
我想使用 Mocha 或 Jest 等测试框架可能会解决问题,但我更愿意在普通的 node.js 中进行!
解决方法
感谢您的评论@tkausl!
我认为,即使抛出了异常,节点进程也不会以错误代码退出,这让 npm 认为一切顺利。您需要确保以错误代码退出。 ——
使用 10
而不是 process.exit(1)
确实可以解决问题!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。