JavaScript 覆盖率测试工具

JavaScript覆盖率测试工具

目前开源的大家常用的JS覆盖率收集工具有主要有下面两种。

  1. JsCover
  2. Istanbul

参考资料:

  • JsCover:

  • http://tntim96.github.io/JSCover/
  • https://github.com/tntim96/JSCover
  • Istanbul

   https://github.com/gotwarlost/istanbul

对比

分类要素

JsCover

Istanbul

覆盖率statement×
 line coverage
 condition coverage×
 branch coverage
 function coverage
対象Javascript file
 html file××
其他工具支持情况HtmlUnit×
 WebDriver×
 PhantomJS×
 Selenium×
 Ant×
 Jenkins×
单元测试工具的支持情况Junit
 Jasmine
 Qunit
 Node.js
 Mocha
 RequireJS
licenseGNUBSD 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

覆盖率收集过程:

1. js文件进行注入

2.执行测试(手动,自动)

3.统计覆盖结果,并生产报告

JsCover介绍

支持两种注入方式,运行时注入(on the fly)和事前注入。

运行时注入提供了2中方式:

  1. 启动JSCover,发布在jscover服务的web应用的js都可以注入和覆盖率收集。(请参考,jscover官方资料看。)

    1)命令1:java -jar xx\xx\JSCover-all.jar -ws --document-root=doc/example --report-dir=target

2)Web浏览器里打卡:http://localhost:8080/jscoverage.html 

3)查看覆盖率结果:

 

          2.代理方式进行注入。代理方式的意思就是说,你的web可以发布在自己的服务中而不是jscover服务里。但是通过jscover服务做的代理访问你的web站点时就可以收集覆盖率。

 1)修改本地代理

 

 

 2)启动代理服务

命令:java -jar JSCover-all.jar -ws --proxy --port=3128 --report-dir=target

3)host文件修改(参考jscover资料)

4)被测试对象web服务启动(例如:http://172.1.2.3:8000/)

5)打开浏览器,输入:http://172.1.2.3:8000/jscoverage.html

6)在浏览器显示画面,url 输入框:输入实际要测试的地址。

7)【summary】画面可以看到报告

 事前注入提供了方式:可以用于web系的自动化测试,收集覆盖率

  1. 先给js文件注入 :java -jar JSCover-all.jar -fs origin dest
  2. 注入后的js发布到web服务上
  3. 测试
  4. 使用AP获取json文件。
  5. 生成的json放知道coverage报告的文件夹下。修改jscoverage.js文件。

  6.  

  7. jscoverage.html打开看结果。

istanbul

on the fly方式注入、适用于UT测试,FT测试收集覆盖率不太能用,暂时还没有找到好办法。

原理:

如何使用:

  1. 直接执行 js文件:istanbul cover xxxjs
  2. 通过执行UT测试方式: istanbul cover _mocha                    // _mocha是mocha 启动UT测试用例的UT运行工具。
  3. UT运行工具运行时顺便采集覆盖率。UT执行工具的配置文件里面配置上 istanbul的参数。具体根据UT运行工具来定。不懂百度

 

转载于:https://www.cnblogs.com/flyzfj/p/8400276.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值