热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JSCoverage>JavaScript测试覆盖率检测工具(转)

JSCoverage-->JavaScript测试覆盖率检测工具(转),Go语言社区,Golang程序员人脉社






原文链接. http://sourceforge.jp/projects/freshmeat_jscoverage/releases/





最近在用 Jasmine 给 KISSY 项目添加测试代码,遇到一个困惑:如何保证测试能完整覆盖到源码的所有分支?


用 Google 搜索了下 Javascript Coverage 工具,琳琅满目。有商业版的 Javascript Coverage Validator, 还有 FireBug 的不少扩展 Javascript Code Coverage Tool for Firebug. 美中不足是,这些要么要花钱,要么已停止更新,杯具。


最后将目标锁定到免费开源一直更新的:JSCoverage. 不用不知道,一用立刻相见恨晚。下面简单介绍下。


下载安装非常简单,到 这里 下载 window 版本。完成后,将压缩包里的 jscoverage.exe 复制到 C:WindowsSystem32. 安装完毕。

我们以 COOKIE 模块为范例。命令行模式,在 COOKIE 的上级目录 src 下输入:


jscoverage.exe COOKIE COOKIE_ --encoding=utf-8 --no-instrument=tests

运行后,就会生成 COOKIE_ 目录。原理是将需要检测的 js 文件重新编译,分析原始语句,并插入相应的监测代码。有兴趣的可以打开 COOKIE_/COOKIE.js 文件观摩。


--no-instrument=tests 是告诉 jscoverage 不要理会 tests 目录下的 js 文件。tests 目录下存放的是 Jasmine 测试文件,不需要监测。


接下来,在浏览器中通过服务器浏览就可以了: COOKIE_/jscoverage.html


在打开的页面中,点击 Summary, 可以看到:
Javascript 测试覆盖率检测工具


非常清晰:COOKIE.js 的测试覆盖率为 91%, 点击 COOKIE.js 切换到 Source Tab, 可以具体看到哪些代码行没有执行。


一切就这么简单。利用 jscoverage-server.exe, 还可以生成报告,这里就不细说了,具体请看 JSCoverage User Manual.


有了 Jasmine, 让我们可以大胆重构代码和添加新功能。
有了 JSCoverage, 则让我们对 Jasmine Specs 的覆盖率有了全局掌握,可以随心所欲。


希望这篇文章,能让你对 JS Test Coverage 工具有个初步了解。好了,继续干活。



转载于:https://www.cnblogs.com/gdutbean/archive/2012/03/14/2395536.html




推荐阅读
  • 本文详细探讨了在Windows Server 2003环境下遇到MySQL连接失败(错误代码10061)的解决方案,包括通过卸载特定的Windows更新和调整系统注册表设置的方法。 ... [详细]
  • 本文介绍了如何在 Linux 系统上构建网络路由器,特别关注于使用 Zebra 软件实现动态路由功能。通过具体的案例,展示了如何配置 RIP 和 OSPF 协议,以及如何利用多路由器查看工具(MRLG)监控网络状态。 ... [详细]
  • 手把手教你构建简易JSON解析器
    本文将带你深入了解JSON解析器的构建过程,通过实践掌握JSON解析的基本原理。适合所有对数据解析感兴趣的开发者。 ... [详细]
  • 本文探讨了为何采用RESTful架构及其优势,特别是在现代Web应用开发中的重要性。通过前后端分离和统一接口设计,RESTful API能够提高开发效率,支持多种客户端,并简化维护。 ... [详细]
  • 本文详细介绍了C++标准模板库(STL)中各容器的功能特性,并深入探讨了不同容器操作函数的异常安全性。 ... [详细]
  • 深入理解FastDFS
    FastDFS是一款高效、简洁的分布式文件系统,广泛应用于互联网应用中,用于处理大量用户上传的文件,如图片、视频等。本文探讨了FastDFS的设计理念及其如何通过独特的架构设计提高性能和可靠性。 ... [详细]
  • ipvsadm命令简介:ipvsadm是LVS在应用层的管理命令,我们可以通过这个命令去管理LVS的配置。在fedora14、Linux6.0之后系统中 ... [详细]
  • 导读上一篇讲了zsh的常用字符串操作,这篇开始讲更为琐碎的转义字符和格式化输出相关内容。包括转义字符、引号、print、printf的使用等等。其中很多内容没有必要记忆,作为手册参 ... [详细]
  • 本文档详细介绍了Robot Framework的基础知识、安装配置方法及其实用技巧。从环境搭建到编写第一个测试用例,涵盖了一系列实用的操作指南和最佳实践。 ... [详细]
  • 本文详细探讨了在不同服务器上运行的PHP程序如何成功连接MySQL数据库的方法,包括常见的连接失败原因及解决方案。 ... [详细]
  • OpenSesame for Mac: AE项目格式高效编辑工具
    OpenSesame for Mac 是一款强大的插件,专为After Effects设计,能够帮助用户创建向后兼容的AE项目,或将项目中的特定部分导出至文本、素材、属性值及渲染队列项等,便于在电子表格中进行编辑。 ... [详细]
  • HPE DL380 Gen10 服务器从ESXi 6.0远程升级至ESXi 6.7
    本文介绍了如何通过HPE DL380 Gen10服务器的iLO5接口远程升级ESXi操作系统,从版本6.0升级到6.7。文中详细描述了远程登录、挂载镜像文件及执行升级的具体步骤。 ... [详细]
  • 本文深入探讨了企业级开发框架NHibernate和Spring.NET的关键特性之一——面向方面编程(AOP)。文章不仅介绍了AOP的基本概念及其如何增强面向对象编程(OOP),还详细说明了Spring.NET中AOP的具体应用,包括事务管理和自定义方面的实现。 ... [详细]
  • OpenWrt 是一款高度可定制的嵌入式 Linux 发行版,广泛应用于无线路由器等领域,拥有超过百个预装软件包。本文详细探讨如何在 OpenWrt 上通过 Luci 构建自定义模块,以扩展其功能。 ... [详细]
  • 探索PWA H5 Web App优化之路(Service Worker与Lighthouse的应用)
    本文探讨了如何通过Service Worker和Lighthouse工具来优化PWA H5 Web App,旨在提升用户体验,包括提高加载速度、增强离线访问能力等方面。 ... [详细]
author-avatar
l清笛l
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有