我刚刚将istanbul测试覆盖模块添加到我的 node.js 应用程序中,但是当我运行时(从命令提示符):
> instanbul cover myTests.js
如文档中所述,我得到:
'istanbul' is not recognized as an internal or external command
我在 Windows 7 下。npm 安装没有返回错误。我在文档中看不到有关额外安装步骤的任何内容。
我错过了什么?
我看到的问题是当您将项目移动到不同的服务器时。伊斯坦布尔将需要在全球范围内再次安装。这破坏了包管理的 npm 模型。实现这一目标的另一种方法是:
npm install --save-dev istanbul
修改 package.json 脚本条目:
scripts: {
"coverage": "node ./node_modules/.bin/istanbul ...."
}
然后使用以下命令调用它:
npm coverage
本地机器的快捷方式也是设置环境路径以包含节点可执行文件:
导出 PATH=$PATH:./node_modules/.bin
在这种情况下,由于路径检查,安装到您的包中的任何可执行文件都将自动在命令行上可用。
要使模块可以在任何地方运行,您需要全局安装它(带有-g
选项)。