美文网首页
04-Istanbul代码覆盖率

04-Istanbul代码覆盖率

作者: hutou | 来源:发表于2016-01-26 19:10 被阅读195次

测试的时候,我们常常关心,是否所有代码都测试到了。

这个指标就叫做"代码覆盖率"(code coverage)。它有四个测量维度。

行覆盖率(line coverage):是否每一行都执行了?
函数覆盖率(function coverage):是否每个函数都调用了?
分支覆盖率(branch coverage):是否每个if代码块都执行了?
语句覆盖率(statement coverage):是否每个语句都执行了?

官方地址

起步

  1. 安装
$ npm install -g istanbul
  1. 简单例子
    编写一个简单的程序 test.js
var test1 = "Hello ";
var test2 = "World! ";
console.info(test1 + test2);
function myfunc(){
    console.info('this is a test.');
}

运行程序,并且在coverage目录下生成报告

$ istanbul cover test.js

覆盖率设置

完美的覆盖率当然是 100%,但是现实中很难达到。需要有一个门槛,衡量覆盖率是否达标。
istanbul check-coverage 命令用来设置门槛,同时检查当前代码是否达标。

$ istanbul check-coverage --statement 90

上面命令设置语句覆盖率的门槛是 90%

$ istanbul check-coverage --statement -1

我们还可以设置绝对值门槛,比如只允许有一个语句没有被覆盖到

$ istanbul check-coverage --statement -5 --branch -3 --function 100

上面命令设置了3个覆盖率门槛:5个语句、3个 if 代码块、100%的函数。注意,这三个门槛是"与"(and)的关系,只要有一个没有达标,就会报错。

相关文章

  • 04-Istanbul代码覆盖率

    测试的时候,我们常常关心,是否所有代码都测试到了。 这个指标就叫做"代码覆盖率"(code coverage)。它...

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

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

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

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

  • 25-覆盖率概述

    ​ 可以添加定向测试,来填补那些覆盖率漏洞, 代码覆盖率 代码覆盖率在编译仿真的时候设置,即可自动收集信息, 功能覆盖率

  • 代码覆盖率-JaCoCo

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

  • 使用JaCoCo统计java代码覆盖率

    代码覆盖率 在白盒测试中,主要使用代码覆盖率来评判白盒测试完成的程度。代码覆盖率是指:在测试中,所执行的源代码占全...

  • jacoco-java测试覆盖率工具

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

  • 翻译:使用Xcode测试(六)——代码覆盖率(Code Cove

    代码覆盖率是Xcode7的功能,可以在视觉上看到和衡量你的代码测试覆盖率。有了代码覆盖率,你可以确定测试是否符合你...

  • 代码测试覆盖率(JaCoCo)

    测试进行代码单元测试时,都应该执着于实现100%的覆盖率。代码覆盖率越高,并不能说明质量就越好,但是代码覆盖率很低...

  • Flutter线上代码覆盖率解决方案——FlutterCodeX

    Flutter线上代码覆盖率解决方案——FlutterCodeXFlutter线上代码覆盖率解决方案——Flutt...

网友评论

      本文标题:04-Istanbul代码覆盖率

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