Android studio里单测覆盖率报告生成

在Android studio里,单测分为本地单测和Android单测两种,区别在于是否需要使用dvm虚拟机,前者只需要jvm虚拟机。

一、计算AndroidTest覆盖率

如果要计算AndroidTest的覆盖率,只需要在模块的build.gradle里的buildTypes闭包里添加开启覆盖率统计即可。

debug {    
    testCoverageEnabled true
}

这个功能貌似在android 5.0以上可以,我试过两个5.0以下的手机,覆盖率都是零。
要生成报告,可以在AS里找到Gradle菜单,找到verification ->createDebugCoverageReport,右键运行这个task就可以了。



或者在project目录下运行(mac下)

./gradlew createDebugCoverageReport

这个task。
每个模块都会生成单独的覆盖率文件,在各自的
build/reports/coverage/debug/index.html.

二、计算Junit单测覆盖率

切换Test Artifact为Junit Test


Android studio里单测覆盖率报告生成_第3张图片
img-37.png

在test文件夹下包名右键(注意是test不是AndroidTest了),在右键菜单选择create 'Test in xxx',弹出的配置里选择工作路径等信息


在Code Coverage tab下悬着Intellij IDea作为coverage runner,然后确认回到工程,右键case就会出现run xxx with Coverage的菜单了。

执行完会弹出覆盖率

你可能感兴趣的:(Android studio里单测覆盖率报告生成)