专业的JAVA编程教程与资源

网站首页 > java教程 正文

推荐一款java测试覆盖率工具(idea测试覆盖率为0)

temp10 2024-10-29 16:41:18 java教程 19 ℃ 0 评论

推荐一款java测试覆盖率工具

测试覆盖率实现技术

推荐一款java测试覆盖率工具(idea测试覆盖率为0)

  • Instrumentation:代码注入,在产品代码的关键位置插入统计代码,从而获得测试覆盖率数据。

  • Class Instrumentation: 把统计代码插入编译好的.class文件。

  • Source Instrumentation:把统计代码插入源代码并编译成新的.class文件。

  • Custom JVM:在JVM中把统计代码插入.class。测试覆盖率分析可以在JVM执行测试代码的过程中完成。

EclEmma介绍

  • 一个优秀的开源软件测试工具,eclipse的一个插件。

  • 能够对由 Java 语言编写的程序进行覆盖测试。

  • 能够在工作平台中启动。

  • 直接对代码覆盖进行分析。

  • 覆盖结果将立即被汇总并在Java源代码编辑器中高亮显示。

  • 也可程序运行的结果生成详尽的覆盖测试报告,

  • 可以结合JUnit、TestNG使用。

  • 工作原理:Class Instrumentation。

EclEmma测试覆盖率指标

  • 行覆盖率:部分行覆盖:a>b?a:b。

  • 基本语句块覆盖率:基本语句块:没有if-else分支的代码区域。

  • 类覆盖率:由JVM加载并初始化。

  • 方法覆盖率:第一个基本语句块被执行。

EclEmma安装

  • 方式一:下载安装(推荐):

地址: http://sourceforge.net/projects/eclemma/

eclemma

将解压后的features和plugins目录下的文件分别拷贝到Eclipse下的features和plugins目录。注意:不要将features plugins目录外的文件拷贝到Eclipse目录下,只拷贝features和plugins目录下的文件。

  • 方式二:在线安装

    地址:http://update.eclemma.org

  • 方式三:最新版本Eclipse中已集成Coverage插件:Version: Oxygen Release (4.7.0)

eclipse

完成方式一或方式二,重启Eclipse。

  • 工具栏会出现coverage图标。

coverage icon

  • 执行java代码,用eclemma按钮执行。

eclemma button

  • 查看运行结果

result

  • 生成覆盖率报告

  1. 要导出的session (session:一次测试覆盖率交互活动)

  2. 选择报告的类型(HTML/XML/Text/EMMA session)

  3. 存放位置

  • 右击项目名称->选择Export(导出)->选择Java的Coverage Report

export

  • 新本的Eclipse导出报告,选择run/debug

export

export

  • 保存后打开HTML结果

resutl

  • HTML报告可以逐层展开,点击方法还可以看到代码的覆盖情况。

列名含义:

  1. missed Instructions代码覆盖率,

  2. Missed Branches逻辑分支覆盖率,

  3. Missed Cxty判断执行数,

  4. missed Lines代码行数,

  5. Methods方法个数。

  • 导入导出合并覆盖率Session

  • 既可以导出session,也可以导入session,还可以合并session,这样,可以将多次测试覆盖率的结果进行合并

merge

  • 测试引用的jar包的覆盖率

test 引用jar包

其他Eclipse覆盖率插件

EclEmma、Clover与Cobertura插件。

thanks

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表