我真的很喜欢 Node.js 中代码的代码覆盖率报告。 我已经创建了一个名为 requiremock 的 Node.js 模块,它可以注入(inject)检测代码(并模拟我们的 require 语句)。
我在我的其他模块中使用它 nodecoverage与 jsCoverage (windows) 的二进制版本一起生成代码覆盖率报告,使用 requiremock 注入(inject)检测过的代码版本。
使用jsCoverage的问题是
- 它需要针对平台进行编译,因为它是用 C(++) 编写的,我想用 JavaScript 实现它,这样它就可以在任何平台上使用而无需编译。
- 它将代码的检测版本作为文件写入磁盘上。通过 requiremock,我可以在内存中生成经过检测的 JavaScript 文件,并在需要原始文件时运行这些文件。
- 使用函数提升时,jsCoverage 无法正确报告代码覆盖率,我在 Node.js 中经常使用它
所以我的问题是:
我应该选择哪种用 JavaScript 编写的 JavaScript 解析器来将 jsCoverage 重新实现为 Node.js 模块?
我必须能够知道原始文件中代码的行号,并且还知道空白是什么样的。
最佳答案
尝试esprima 。这很棒。另外node-cover可能已经有您需要的东西
关于javascript - 我应该使用什么 JavaScript 解析器在 JavaScript 中为 Node 重新实现 jsCoverage?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11590511/