我真的很喜欢我在 node.js 中的代码的代码覆盖率报告。我已经创建了一个 node.js 模块,它可以注入名为requiremock的检测代码(并模拟我们的 require 语句)
我在我的其他模块nodecoverage中使用它以及 jsCoverage(windows)的二进制版本来生成代码覆盖率报告,用 requiremock 注入代码的检测版本。
使用 jsCoverage 的问题是
- 它需要为平台编译,因为它是用 C(++) 编写的,我想用 JavaScript 实现它,这样它就可以在任何平台上使用而无需编译。
- 它将经过检测的代码版本作为文件写入磁盘。使用 requiremock,我可以在内存中生成检测的 JavaScript 文件,并在需要原始文件时运行这些文件。
- jsCoverage 在使用函数提升时没有正确报告代码覆盖率,我在 node.js 中经常使用它
所以我的问题是:
我应该选择用 JavaScript 编写的什么 JavaScript 解析器将 jsCoverage 重新实现为 node.js 模块?
我必须能够知道原始文件中代码的行号,并且还要知道什么是空白。