首页 文章

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

提问于
浏览
2

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

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

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

我想拥有的是:

  • 像往常一样写我的代码 .

  • 使用Mocha照常编写测试 .

  • 获取测试的代码覆盖率,无需修改测试或代码 .

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

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

1 回答

  • 3

    我遇到了同样的审美问题 . 虽然也有点黑客,但我正在使用以下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 :)

相关问题