多个文件的代码覆盖率

时间:2014-12-16 12:08:59

标签: javascript node.js mocha istanbul

我在node.js中使用mocha框架有一个应用程序。 我有两个javascript源文件,我想采取代码覆盖(即a.js和b.js)。 我为此目的使用伊斯坦布尔。

这里的问题是我没有得到如何为多个文件采取代码覆盖。 我使用以下格式:

istanbul cover node_modules/mocha/bin/_mocha a.js 


istanbul cover node_modules/mocha/bin/_mocha a.js b.js 

但不幸的是,这两个命令都给出了相同的代码覆盖率,我认为它只采用a.js代码。有没有找到多个文件的代码覆盖率的解决方案?

1 个答案:

答案 0 :(得分:2)

这里的问题是如何解析伊斯坦布尔的论点。

假设mocha a.js b.js按预期工作,那么这应该是等效的Istanbul命令:

istanbul cover node_modules/mocha/bin/_mocha -- a.js b.js

伊斯坦布尔将在--拆分参数,并将右侧的参数传递给左侧的节点脚本。一旦工作正常,伊斯坦布尔的报道报告将正常工作。

如果可能的话,最重要的是给mocha一个目录而不是显式文件名。这样,如果文件名发生变化,则不必更改此代码。

您还可以使用Intern.js进行测试,从而更轻松地进行测试,实际上使用伊斯坦布尔并在很少设置的情况下自动处理所有代码。