0

我有 Compoundjs 应用程序,在其中我使用了脚手架生成器来生成控制器及其测试用例。测试用例运行正常。但我需要为此生成代码覆盖率报告。我正在尝试使用毯子.js

我在脚本的package.json中配置了这样的毯子.js :

"blanket": { "pattern": "app" }

app是包含我所有控制器、模型等的文件夹。然后我正在运行具有报告器的测试用例:

摩卡测试/init.js 测试/控制器/sample_controller.test.js --require 毯子 -R html-cov > coverage.html

这实际上是为它正确生成覆盖率报告。但我面临的问题是它只显示某些文件的代码覆盖率,就像它显示代码覆盖率model/sample但不显示controllers/sample_controller.js.

请尽快帮助我,因为我实际上被困住了。非常感谢提前,

4

2 回答 2

0

这些是 eval 控制器,对吧?我正在调查下一版 Blanket (v1.1.3) 中 eval 控制器的覆盖率。与此同时,伊斯坦布尔和 grunt-blanket 也是一种选择。

于 2013-04-18T19:23:57.740 回答
0

选项 1:尝试使用_mocha而不是mocha避免 mocha 分叉并且不在同一进程中覆盖所有代码。

选项 2:我强烈推荐伊斯坦布尔作为覆盖工具。尝试:

npm -g install istanbul
istanbul cover _mocha -- test/init.js test/controllers/sample_controller.test.js --require blanket -R spec
open coverage/lcov-report/index.html

更多信息:https ://github.com/gotwarlost/istanbul/issues/44

于 2013-04-16T09:25:25.060 回答