如何在不修改源代码的情况下获得Mochatesting的代码覆盖率?

我有很多使用Mocha编写的Node.js应用程序的unit testing。 现在我想为这些testing提供一些testing覆盖率数据。

我已经看到,摩卡支持覆盖率报告,但需要使用一个库,如JSCoverage预处理。 处理JSCoverage基本上并不困难,但是为了一切正常,这个场景需要你修改你的源代码,以便根据环境variables导出原始代码。

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

我想要的是:

  • 像往常一样写我的代码。
  • 像往常一样写我的testing使用摩卡。
  • 为我的testing获取代码覆盖率,而无需修改testing或代码。

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

任何提示让我这样做的图书馆将是伟大的:-)

我遇到了同样的美学问题。 虽然也有点破解,我正在使用以下的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后面的一个不美观的解决scheme。 至less有一个可以继续使用jscoverage 🙂