在浏览器中为Jasmine测试添加代码覆盖率

时间:2014-05-03 15:12:10

标签: angularjs jasmine istanbul

我在本地使用npm和grunt的代码覆盖率,但我想在浏览器中演示

如果我打开一个codepen,我怎样才能在浏览器中生成代码覆盖? 请举例说明。

我在这里测试一个控制器,Jasmine测试代码,但我想知道它是否100%覆盖并在浏览器中显示 http://codepen.io/clouddueling/pen/Jwaru?editors=001

我可以将我的代码提交给服务器吗?是否在heroku上即时测试并获得结果? Instanbul能以某种方式在客户端运行并输出一个html报告或json字符串吗?

2 个答案:

答案 0 :(得分:7)

您可以使用支持jasmine test runner的Blanket.js在浏览器中运行代码覆盖率。

这是展示您的示例应用和规格的PLUNKER。这里要注意的几个要点是:

<!-- Use of data-cover provided by blanket to test coverage of concerned file -->
<script type="text/javascript" src="app.js" data-cover></script>

毯子js需要adapter for jasminejasmine-blanket.js是plunker中显示的适配器。

我更喜欢使用codepen而不是codepen。希望有所帮助。这不是浮油吗?

更新9-11-2017 无法主动维护blanket.js项目,您可以在他们的github存储库中看到。 enter image description here

答案 1 :(得分:0)

如果您需要覆盖率和复杂性数据,我强烈建议您查看Grunt.io和NPM。 NPM拥有karma-coverage等软件包,可以为您提供应用程序的完整报道。 Grunt是这些报告的自动化任务运行器。但请记住,100%的覆盖率并不总是相关的。这就是代码复杂性工具的用武之地。我使用NPM包grunt-complexity以及karma-coverage来查看未涵盖的内容,然后确定我的代码部分中完整测试覆盖的价值。

Eghead有一个很好的咕噜声介绍视频https://egghead.io/lessons/gruntjs-introduction-to-grunt

希望这有点帮助,

约旦