Android Studio 3.6.3无法运行测试覆盖率功能,求解决方案
解决Android Studio 3.6.3测试覆盖率选项缺失的问题
我之前也碰到过这个头疼的问题,给你几个针对性的解决方案,一步步试下来应该能找回测试覆盖率选项:
检查测试运行配置是否正确
首先要确保你是针对测试类创建的运行配置,而不是普通的App运行配置。操作步骤:- 点击顶部菜单栏的
Run > Edit Configurations - 查看现有配置的类型,如果是
Android App类型,那肯定看不到覆盖率选项——你需要创建Android Instrumented Tests或JUnit Tests类型的配置 - 新建正确的测试配置后,再看配置面板里有没有
Code Coverage标签,正常情况下这里就可以设置覆盖率相关选项了
- 点击顶部菜单栏的
确认Gradle配置的细节
你已经加了testCoverageEnabled true,但还要注意几个细节:- 确保这个配置是在
debugbuildType下,并且如果你的项目有product flavor,要保证对应的flavor的debug变体也启用了该配置,示例配置如下:buildTypes { debug { testCoverageEnabled true } } - 检查
gradle-wrapper.properties里的Gradle版本是否和Android Studio 3.6.3兼容(推荐用gradle 5.6.4),版本不匹配也可能导致功能异常 - 配置完成后,点击右上角的
Sync Project with Gradle Files,同步完成后重启一次Android Studio
- 确保这个配置是在
检查插件和IDE设置
- 打开
File > Settings > Plugins,搜索Coverage,确保IntelliJ IDEA Coverage插件是启用状态,要是被禁用了就赶紧启用并重启IDE - 尝试直接点击顶部菜单栏的
Run > Run with Coverage,如果这个选项是灰色的,那基本可以确定是测试配置或Gradle配置的问题,回到前两步排查
- 打开
清除IDE缓存(终极小妙招)
Android Studio的缓存有时候会引发各种奇怪的bug,试试这个操作:
点击File > Invalidate Caches / Restart,选择Invalidate and Restart,让IDE彻底清除缓存并重启,很多莫名其妙的功能缺失问题都能通过这个解决退而求其次:手动生成覆盖率报告
如果以上方法都不行,你可以用Gradle命令手动生成覆盖率报告:
在Android Studio底部的Terminal里运行:./gradlew createDebugCoverageReport报告生成后,会存放在
app/build/reports/coverage/debug目录下,打开里面的index.html就能查看详细的覆盖率数据了
内容的提问来源于stack exchange,提问作者yoni
相关产品推荐
相关产品推荐

