2

我真的很喜欢我在 node.js 中的代码的代码覆盖率报告。我已经创建了一个 node.js 模块,它可以注入名为requiremock的检测代码(并模拟我们的 require 语句)

我在我的其他模块nodecoverage中使用它以及 jsCoverage(windows)的二进制版本来生成代码覆盖率报告,用 requiremock 注入代码的检测版本。

使用 jsCoverage 的问题是

  1. 它需要为平台编译,因为它是用 C(++) 编写的,我想用 JavaScript 实现它,这样它就可以在任何平台上使用而无需编译。
  2. 它将经过检测的代码版本作为文件写入磁盘。使用 requiremock,我可以在内存中生成检测的 JavaScript 文件,并在需要原始文件时运行这些文件。
  3. jsCoverage 在使用函数提升时没有正确报告代码覆盖率,我在 node.js 中经常使用它

所以我的问题是:

我应该选择用 JavaScript 编写的什么 JavaScript 解析器将 jsCoverage 重新实现为 node.js 模块?

我必须能够知道原始文件中代码的行号,并且还要知道什么是空白。

4

1 回答 1

2

试试esprima。这很棒。节点覆盖也可能已经有你需要的东西

于 2012-07-21T14:30:54.993 回答