javascript - 多个文件的代码覆盖率

标签 javascript node.js mocha.js istanbul

我在 node.js 中有一个使用 mocha 框架的应用程序。 我有两个 javascript 源文件,我想对其进行代码覆盖(即 a.js 和 b.js)。 为此,我正在使用 Istanbul 尔。

这里的问题是我不知道如何对多个文件进行代码覆盖。 我正在使用以下格式:

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


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

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

最佳答案

这里的问题是如何解析 Istanbul 的参数。

假设 mocha a.js b.js 如您所愿,那么这应该是等效的 Istanbul 尔命令:

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

Istanbul 将在 -- 处拆分参数并将右侧的参数传递给左侧的 Node 脚本。一旦它正常工作, Istanbul 尔的覆盖率报告将正常工作。

在此之上的一个改进是给 mocha 一个目录而不是明确的文件名,如果可能的话。这样,如果文件名改变,这段代码就不必改变。

您还可以使用 Intern.js 简化覆盖范围用于测试,它实际上使用 Istanbul 并自动检测您的所有代码,只需很少的设置。

关于javascript - 多个文件的代码覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27504351/

相关文章:

javascript - 当我有一组脚本时,如何等待脚本加载?

javascript - jQuery Easy UI + treegrid + 复选框

angularjs - Protractor "Can' t 读取未定义的属性 'click'”

javascript - 遍历在nodeJs中具有嵌套对象的对象

javascript - 双倍回调! Node.js Chai

testing - mochawesome cypress 故障报告

node.js - Mocha 通过继承测试 javascript

javascript - 将 JavaScript 添加到特定 HTML 元素的每次出现

javascript - React Prop 在重新渲染时变得未定义

javascript - Node.js - 典型的回调问题