seb*_*ira 2 android code-coverage gradle jacoco
我正在使用Jacoco创建一份覆盖率报告,并且在更新Gradle和BuildTools版本之前一直工作良好。然后,我还原这些更改并重新工作。
Jacoco在以下位置查找.class文件:
$ {buildDir} /中间体/类/调试
这是app / build / intermediates / classes / debug。但我注意到,升级后该路径丢失了,中间体中间没有类目录
我的配置正在工作:
项目级模块
classpath 'com.android.tools.build:gradle:3.1.4'
classpath 'io.fabric.tools:gradle:1.25.1'
Run Code Online (Sandbox Code Playgroud)
应用级模块
compileSdkVersion 27
buildToolsVersion "27.0.3"
Run Code Online (Sandbox Code Playgroud)
当更新时是这样的:
项目级模块
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'io.fabric.tools:gradle:1.25.4'
Run Code Online (Sandbox Code Playgroud)
应用级模块
compileSdkVersion 28
buildToolsVersion "28.0.3"
Run Code Online (Sandbox Code Playgroud)
我找不到有关该路径正在移动或正在发生的情况的任何参考
我的问题是,由于Java字节码(生成的.class文件)不存在,因此Jacoco无法创建覆盖率报告
他们在 intermediates\javac\debug\compileDebugJavaWithJavac\classes
您可以配置 Jacoco 以更改类路径。
我不熟悉 Jacoco,但我认为它有一个名为includes.class 文件的属性。
或者.properties我想应该有一个。
可以像更改classDirectories覆盖任务一样使用:
task "${testTaskName}Coverage" (type:JacocoReport, dependsOn: "$testTaskName") {
...
classDirectories = fileTree(
dir: "${project.buildDir}/intermediates/javac/debug/compileDebugJavaWithJavac/classes/${sourcePath}",
excludes: [ ... ]
)
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
840 次 |
| 最近记录: |