Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Jay-Goo/JacocoTestHelper

Repository files navigation

JacocoTestHelper

本工具为Jacoco手工测试代码覆盖率的辅助工具库,帮你两步轻松接入Jacoco。

使用情景

由于现在单元测试在小公司无法推行,且为了解决新功能测试以及回归测试在手工测试的情况下,即便用例再为详尽,也会存在遗漏的用例。通过统计手工测试覆盖率的数据,可以及时的完善用例。 Jacoco是Java Code Coverage的缩写,在统计完成Android代码覆盖率的时候使用的是Jacoco的离线插桩方式,在测试前先对文件进行插桩,在手工测试过程中会生成动态覆盖信息,最后统一对覆盖率进行处理,并生成报告。

图片名称


用法:

Dependencies:

#project build.gradle
allprojects {
		repositories {
			...
			maven { url 'https://jitpack.io' }
		}
	}
	
#module build.gradle
	dependencies {
	 compile 'com.github.Jay-Goo:JacocoTestHelper:v0.0.2'
	}

第一步:

将Github项目中的 jacoco.gradle拷贝到项目app目录下,然后配置module 下的build.gradle

apply from: 'jacoco.gradle'
...do something
android {
...
 buildTypes {
 release {
 ...
 }
 debug {
 /**打开覆盖率统计开关*/
 testCoverageEnabled = true
 }
 }
}

第二步:

//PROJECT_PATH '项目路径' + '/app/build/outputs/code-coverage/'
//初始化,可以在程序入口处初始化
JacocoHelper.init(PROJECT_PATH,true);
//生成代码覆盖率ec文件
//可以手动触发,也可以在程序退出时触发
JacocoHelper.generateEcFile(true);

详细Report生成:

通过上面的步骤,我们完成了jacoco的配置,很简单吧,下面教大家如何使用来使用它来测试我们的代码覆盖率

  • 1、可以直接编译运行或者安装应用
  • 2、./gradlew jacocoInit 初始化
  • 3、开始测试,测试结束后点击生成报告将ec文件pull到本地项目 PROJECT_PATH 路径中,具体命令可查看日志Logv
  • PROJECT_PATH '项目路径' + '/app/build/outputs/code-coverage/'
  • 4、./gradlew jacocoTestReport 然后到 /app/build/reports里查看相关报告

报告分析:

这里写图片描述

点击包名你可以看到更详细的方法,甚至代码

这里写图片描述

移除:

上线时我们肯定要移除这些代码,其实移除也仅需两步即可轻松移除:

  • 1、注释掉 apply from: 'jacoco.gradle',关闭覆盖率统计开关 testCoverageEnabled = false

  • 2、将debug模式关闭,JacocoHelper将不会再生成任何文件和日志。JacocoHelper.init(PROJECT_PATH,false);

感谢

Q博士的博文: http://blog.csdn.net/itfootball/article/details/45618609

Jacoco官方网站: http://www.eclemma.org/jacoco/

About

两步轻松实现手工测试代码覆盖率

Resources

Stars

Watchers

Forks

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /