我在 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/