美文网首页
【测试覆盖率】—JS覆盖率检测方法

【测试覆盖率】—JS覆盖率检测方法

作者: 无意惹东风 | 来源:发表于2018-05-08 20:40 被阅读388次

最近因为工作需要对代码覆盖率进行测试,整理了一下相关的内容。

主要操作步骤:
1-前期准备工作
1.1 安装istanbul

npm install -g istanbul

如果报权限错误Please try running this command again as root/Administrator的话,在命令前面加上sudo就可以了,即:

sudo npm install -g istanbul

之后输入电脑密码即可


2-创建文件夹和相关测试文件
创建一个名为JSCoverage的文件夹
里面新建一个myJs.js
新建一个test文件夹
test文件夹中新建一个myJs.test.js

如图示: 111.png

然后cd到JSCoverage目录下执行

npm install -g mocha
npm install should --save-dev

3-覆盖率测试(在JSCoverage目录下)
首先:执行命令mocha

会看到输出内容如下图 222.png

之后再进行文件覆盖率测试,执行命令istanbul cover _mocha test/sqrt.test.js
看到结果如图示:


333.png

至此,通过mocha,istanbul,should进行JS覆盖率测试就基本实现了


关于myJs.test.js内容

var should=require('should');//引入should  
var main=require('../myJs.js');//引入要被测试的文件  
  
describe('test/myJs.test.js', function () {  
  it('should equal 55 when n === 10', function () {  
    main.fibonacci(10).should.equal(55);  
  });  
});  

关于myJs.js内容

var fibonacci = function (n) {  
  if (n === 0) {  
    return 0;  
  }  
  if (n === 1) {  
    return 1;  
  }  
  return fibonacci(n-1) + fibonacci(n-2);  
};  
exports.fibonacci=fibonacci;  
if (require.main === module) {  
  // 如果是直接执行 main.js,则进入此处  
  // 如果 main.js 被其他文件 require,则此处不会执行。  
  var n = Number(process.argv[2]);  
  console.log('fibonacci(' + n + ') is', fibonacci(n));  
}

注:后面两张图片中使用的是另外的js文件,文件夹图片(即图1)中的js文件是我为了方便说明文件夹结构重新新建的。


参考文章:
http://www.ruanyifeng.com/blog/2015/06/istanbul.html
https://blog.csdn.net/fengyinchao/article/details/50786504
http://www.ruanyifeng.com/blog/2015/12/a-mocha-tutorial-of-examples.html

相关文章

  • 【测试覆盖率】—JS覆盖率检测方法

    最近因为工作需要对代码覆盖率进行测试,整理了一下相关的内容。 主要操作步骤:1-前期准备工作1.1 安装istan...

  • 03_测试覆盖率

    测试覆盖率 学习目标 掌握各种测试覆盖率的含义 能计算各种测试覆盖率 理解覆盖率在白盒测试中所起的作用 覆盖率概念...

  • 《编写可测试javascript》 第五章 代码覆盖

    代码覆盖率测试的代码/全部代码 代码覆盖高,不代表测试程度高 代码覆盖低,测试程度一定低 测试覆盖率需要将原始js...

  • 当谈论覆盖率时我们在谈什么?

    代码覆盖率 vs. 测试覆盖率 代码覆盖率通常指跑完测试后, 由工具自动统计的在跑测试的过程中被测代码的覆盖率, ...

  • jacoco-java测试覆盖率工具

    1 为什么要关注测试覆盖率 覆盖率是程序编程的最后一环,单元测试验证代码,而覆盖率验证测试用例。 代码覆盖率...

  • 代码覆盖度之jacoco

    目的 a. 度量单元测试覆盖率; b. 度量自动化测试(接口、UI)覆盖率; c. 度量功能测试覆盖率; 代码覆盖...

  • jacoco测试覆盖率

    测试覆盖率 测试覆盖率是对测试完全程度的评测。测试覆盖率是由测试需求和测试用例的覆盖或已执行代码的覆盖的表示结果。...

  • 测试覆盖率

    1、把测试覆盖率作为一种发现未被测试覆盖的代码的方法,辅助发现漏测点; 2、测试覆盖率低时,分析未覆盖测试部分的原...

  • Web端PHP代码函数覆盖率测试解决方案

    1. 关于代码覆盖率 衡量代码覆盖率有很多种层次,比如行覆盖率,函数/方法覆盖率,类覆盖率,分支覆盖率等等。代码覆...

  • 代码覆盖率-JaCoCo

    代码覆盖率 在做单元测试时,代码覆盖率常常被拿来作为衡量测试好坏的指标,甚至,用代码覆盖率来考核测试任务完成情况,...

网友评论

      本文标题:【测试覆盖率】—JS覆盖率检测方法

      本文链接:https://www.haomeiwen.com/subject/hgowrftx.html