Áko*_*róy 6 android code-coverage gradle jacoco
我正在尝试让jacoco为我的android测试项目创建一个代码覆盖率报告.我在build.gradle中有以下内容:
apply plugin: 'com.android.application'
apply plugin: 'jacoco'
...
jacoco {
toolVersion = "0.7.1.201405082137"
}
...
android {
buildTypes {
release {
}
debug {
testCoverageEnabled true
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行gradlew -i createDebugCoverageReport时,我得到一个覆盖率报告,但它是空的.gradle执行结束如下:
:androidTest:connectedAndroidTest (Thread[main,5,main]) completed. Took 2 mins 36.951 secs.
:androidTest:createDebugCoverageReport (Thread[main,5,main]) started.
:androidTest:createDebugCoverageReport
Executing task ':androidTest:createDebugCoverageReport' (up-to-date check took 0.006 secs) due to:
Output file /home/akos/src/androidTest/build/outputs/reports/coverage/debug has changed.
Output file /home/akos/src/androidTest/build/outputs/reports/coverage/debug/index.html has been removed.
Output file /home/akos/src/androidTest/build/outputs/reports/coverage/debug/.resources/package.gif has been removed.
[ant:reportWithJacoco] Loading execution data file /home/akos/src/androidTest/build/outputs/code-coverage/connected/coverage.ec
[ant:reportWithJacoco] Writing bundle 'debug' with 3 classes
:androidTest:createDebugCoverageReport (Thread[main,5,main]) completed. Took 0.215 secs.
BUILD SUCCESSFUL
Total time: 4 mins 53.467 secs
Run Code Online (Sandbox Code Playgroud)
实际上,上面引用的coverage.ec文件为空(长度为0)
在目录build/intermediates/coverage-instrumented-classes /中,我似乎有了已检测的类文件
这是gradle 2.1
我究竟做错了什么?
尝试使用Nexus device
(5或5x)生成调试覆盖率报告,它将完美地工作.我面临同样的问题Samsung devices
(coverage.ec是空的)但是之后我运行它Nexus 5x
并且一切正常.
我使用相同的 gradle.build,只需在终端中输入以下命令即可。它以 html 页面的形式提供了覆盖率报告和测试结果。
$./gradlew createDebugCoverageReport
另一个建议是;输入终端
$./gradlew --gui
它会打开一个 GUI 窗口,您可以找到正确的命令。
归档时间: |
|
查看次数: |
7085 次 |
最近记录: |