Kam*_*ari 10 android android-studio
在 Android Studio 中,我没有找到在 androidTest 文件夹下编写的仪器测试的“使用代码覆盖率运行”选项。但是我可以看到它是在测试文件夹中编写的 JUnit 测试用例。
谁能告诉我如何获得该保险?
提前致谢。
小智 -2
所以根据你的评论,我假设你在你的 gradle 中成功设置了 jacoco。现在请在您的应用程序 gradle 中更改或添加以下材料:
coveralls {
jacocoReportPath = "${buildDir}/reports/coverage/debug/report.xml"
}
Run Code Online (Sandbox Code Playgroud)
上面的代码使您的覆盖率报告位于app/build/report/..并且您将获得两个文件夹,包括其他文件夹。AndroidTest 和测试文件夹。在AndroidTest文件夹中,您将获得覆盖率文件夹并浏览index.html,您将获得仪器测试结果的覆盖率报告。与测试文件夹相同,探索它并浏览index.html。
现在是主要部分。您必须在pp gradle中编写以下代码
task jacocoTestReport(type: JacocoReport, dependsOn: ['testDebugUnitTest','connectedAndroidTest']) {
reports {
xml.enabled = true
html.enabled = true
}
// The lines below make sure we can report against Kotlin and exclude some Android Stuff
def fileFilter = [
'**/R.class', '**/R$*.class', '**/BuildConfig.*', '**/Manifest*.*',
'**/*Test*.*', 'android/**/*.*'
]
def debugTree = fileTree(dir: "$project.buildDir/intermediates/javac/debug/compileDebugJavaWithJavac/classes/", excludes: fileFilter)
def mainSrc = "$project.projectDir/src/main/java"
sourceDirectories = files([mainSrc])
classDirectories = files([debugTree])
executionData = fileTree(dir: project.buildDir, includes: [
'jacoco/testDebugUnitTest.exec', 'outputs/code-coverage/connected/*coverage.ec'
])
}
Run Code Online (Sandbox Code Playgroud)
成功同步后,您将在任务 jacocoTestRepor旁边看到一个播放按钮...点击它并选择第一个,例如 Run yourProject [jacoco]
| 归档时间: |
|
| 查看次数: |
6531 次 |
| 最近记录: |