2

我有很多针对使用 Mocha 编写的 Node.js 应用程序的单元测试。现在我想为这些测试提供一些测试覆盖率数据。

我已经看到 Mocha 支持覆盖率报告,但需要使用诸如 JSCoverage 之类的库进行一些预处理。处理 JSCoverage 基本上并不难,但是为了让一切正常工作,这种情况需要您修改源代码,以便根据环境变量导出检测代码或原始代码。

这基本上是我不喜欢的步骤。

我想要的是:

  • 像往常一样写我的代码。
  • 像往常一样使用 Mocha 编写我的测试。
  • 无需修改测试或代码即可获得我的测试的代码覆盖率。

这可能吗?如果是这样,怎么做?

任何让我能够做到这一点的图书馆的提示都会很棒:-)

4

1 回答 1

3

我遇到了同样的审美问题。虽然也有点 hack,但我正在使用以下 Makefile 片段:

.PHONY: coverage

coverage:
   mv lib lib-orig
   jscoverage lib-orig lib
   mocha -R html-cov > coverage.html
   mv lib lib-cov
   mv lib-orig lib

最终得到一个隐藏在简单 makefile 后面的不美观的解决方案,而不是美学上令人不快的代码。至少可以继续使用 jscoverage :)

于 2013-03-10T19:48:55.257 回答