7

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

如果我打开 codepen,如何在浏览器中生成代码覆盖率?
请举一个例子。

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

我可以将我的代码提交到服务器吗?它是否立即在其他地方(例如在 heroku 上)进行了测试并获得了结果?Instanbul 能否以某种方式在客户端运行并输出 html 报告或 json 字符串?

4

2 回答 2

9

您可以使用支持 jasmine 测试运行器的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>

Blanket js 需要一个jasmine 的适配器jasmine-blanket.js是 plunker 中显示的适配器。

我更喜欢 plunker 而不是 codepen。希望有帮助。这不是很滑吗?

2017 年 9 月 11 日更新毯子.js 项目没有积极维护,您可以在他们的 github 存储库中查看。 在此处输入图像描述

于 2014-05-23T04:38:23.447 回答
0

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

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

希望这个对你有帮助,

约旦

于 2014-05-03T15:21:06.507 回答