我正在使用“Istanbul cover test.js”运行一些节点js单元测试,其中test.js是主测试文件,它将调用我们代码库中的实际脚本。问题是它生成的覆盖率报告只在test.js文件上,而不在代码库中的实际代码行上。请原谅我这是一个愚蠢的问题,但如何让它显示测试所涉及的实际文件的覆盖范围?
答案 0 :(得分:7)
您必须针对运行的测试运行istanbul cover
。
文档中的示例对此有点不清楚:istanbul cover test.js
假设test.js
是运行所有测试的可执行文件,而不是测试本身。
例如,如果您使用mocha
作为测试运行器,它应该看起来像istanbul cover node_modules/.bin/_mocha
(假设mocha安装为本地devDependency)或istanbul cover mocha
,如果它安装为全球模块。
答案 1 :(得分:1)
:
如果您全局安装了jasmine-node:
istanbul cover /d/Users/rxxx/AppData/Roaming/npm/node_modules/jasmine-node/bin/jasmine-node ./
如果您在本地安装了jasmine-node:
istanbul cover ../node_modules/jasmine-node/bin/jasmine-node ./
答案 2 :(得分:0)
在我的情况下,当以package.json
:
istanbul cover ../jasmine/bin/jasmine.js