Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 伊斯坦布尔的节点JS测试覆盖问题_Node.js_Istanbul - Fatal编程技术网

Node.js 伊斯坦布尔的节点JS测试覆盖问题

Node.js 伊斯坦布尔的节点JS测试覆盖问题,node.js,istanbul,Node.js,Istanbul,我正在使用“伊斯坦布尔cover test.js”运行一些节点js单元测试,其中test.js是主测试文件,它将调用我们代码库中的实际脚本。问题是它生成的覆盖率报告仅在test.js文件上,而不在代码库中的实际代码行上。如果这是一个愚蠢的问题,请原谅,但是我如何让它显示测试所引用的实际文件的覆盖率?您必须针对运行的测试运行覆盖。 文档中的示例对此有点不清楚:test.js假设test.js是运行所有测试的可执行文件,而不是测试本身 例如,如果您使用mocha作为测试运行程序,它应该看起来像ist

我正在使用“伊斯坦布尔cover test.js”运行一些节点js单元测试,其中test.js是主测试文件,它将调用我们代码库中的实际脚本。问题是它生成的覆盖率报告仅在test.js文件上,而不在代码库中的实际代码行上。如果这是一个愚蠢的问题,请原谅,但是我如何让它显示测试所引用的实际文件的覆盖率?

您必须针对运行的测试运行
覆盖
。
文档中的示例对此有点不清楚:
test.js
假设
test.js
是运行所有测试的可执行文件,而不是测试本身

例如,如果您使用
mocha
作为测试运行程序,它应该看起来像
istanbul cover node\u modules/.bin/\u mocha
(假设mocha是作为本地设备安装的)或者
istanbul cover mocha
,如果它是作为全局模块安装的。

在Windows上:

如果全局安装了jasmine节点:

istanbul cover /d/Users/rxxx/AppData/Roaming/npm/node_modules/jasmine-node/bin/jasmine-node ./
如果您在本地安装了jasmine节点:

istanbul cover ../node_modules/jasmine-node/bin/jasmine-node ./

在我的例子中,以下命令在作为
package.json
中定义的脚本运行时起作用:


伊斯坦布尔封面../jasmine/bin/jasmine.js

你能告诉我如何在伊斯坦布尔运行jasmine吗?我尝试过“伊斯坦布尔封面jasmine节点”(我在Windows上使用它),但在模块编译(Module.js:439:25)时失败。通常我在启动jasmine节点时设置了其他环境变量,所以我需要以某种方式传递它们。@AlexShumilov
istanbul cover./node\u modules/jasmine node/bin/jasmine node spec/***.js
适合我。确保所有测试都不会使流程在完成后“挂起”,否则将无法运行。