eclipse代码测试覆盖率小工具 |
您所在的位置:网站首页 › eclipse代码为什么会出现别的颜色 › eclipse代码测试覆盖率小工具 |
1.什么是代码测试覆盖率? 基于代码的测试覆盖评测测试过程中已经执行的代码的多少,与之相对的是要执行的剩余代码的多少。代码覆盖可以建立在控制流(语句、分支或路径)或数据流的基础上。控制流覆盖的目的是测试代码行、分支条件、代码中的路径或软件控制流的其他元素。数据流覆盖的目的是通过软件操作测试数据状态是否有效,例如,数据元素在使用之前是否已作定义。 覆盖率等于覆盖面积/总面积 2.coverage如何安装? 1.在eclipse工具栏点击help->Eclipse Marketplace。 2.输入“coverage”搜索,点击install。
实例 百度中看到一个很好的例子,这里借用一下: public class HelloWorld { public static void main(String[] args) { new HelloWorld(); int rand = (int) (Math.random() * 100); if (rand % 2 == 0) { System.out.println("Hello, world! 0"); } else System.out.println("Hello, world! 1"); int result = rand % 2 == 0 ? rand + rand : rand * rand; System.out.println(result); } }按照上面说的coverage使用,执行一下, 可以看到如下截图 在下面的Coverage视窗中,可以看到代码测试覆盖率。看代码,是取得随机数,if判断可能出现不满足,可能满足的情况, 需要多次执行该代码,得到多次的代码覆盖率,然后吧多次得到的覆盖率合并,得到这个类总的代码测试覆盖率。 (其中有一句:new HelloWorld(); 该行代码是为了调用,该类默认的构造器。我认为:每个类都有默认的构造器,只是没有显示的代码而已,如果这里不写,代码覆盖率会降低,第一行public class HelloWorld 绿色也会变成红色 ) 总的统计如下: 箭头所指为合并多次执行后的覆盖率百分比 4、总结 1.coverage 可以测试java application程序,也可以测试JUnit 测试类 2.如果要测试整个项目中代码的测试覆盖率,可能比较麻烦,至少需要吧所有代码的测试类执行一遍,并且把所有代码执行的路径都考虑到才准确。 3.别忘记测试异常情况,空指针,或者其他异常后,执行异常代码,也会增加代码测试覆盖率的。 4.如果得到代码测试覆盖率比较高,显而易见能看出代码安全性会比较能保证。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |