应用程序级别的Build.Gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
classpath 'com.google.gms:google-services:3.0.0'
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
apply plugin: 'jacoco'
jacoco {
toolVersion = "0.7.6.201602180812"
reportsDir = file("$buildDir/customJacocoReportDir")
}
def coverageSourceDirs = [
'src/main/java',
]
task jacocoTestReport(type: JacocoReport, dependsOn: "connectedDebugAndroidTest") {
group = "Reporting"
description = "Generate Jacoco coverage reports after running tests."
reports {
xml.enabled = true
html.enabled = true
}
classDirectories = fileTree(
dir: './build/intermediates/classes/debug',
excludes: ['**/R*.class'
])
sourceDirectories = files(coverageSourceDirs)
executionData = files("$buildDir/jacoco/testDebug.exec")
// Bit hacky but fixes https://code.google.com/p/android/issues/detail?id=69174.
// We iterate through the compiled .class tree and rename $$ to $.
doFirst {
new File("$buildDir/intermediates/classes/").eachFileRecurse { file ->
if (file.name.contains('$$')) {
file.renameTo(file.path.replace('$$', '$'))
}
}
}
}
可以在build.gradle文件中将testCoverageEnabled参数设置为true来生成测试覆盖率报告:
android{buildTypes{debug{testCoverageEnabled=true}}}
然后使用:
./gradlew connectedCheck
./gradlew createDebugCoverageReport
/build/outputs/reports/coverage/debug/
v2.0 Codecov报表 , 从2017-12-29后开始统计 测试覆盖率为 : , 可以从 https://codecov.io/gh/apache/dubbo 页面得到覆盖率报表 v1.0 基于 2.0.12 版本,统计于 2012-02-03
使用 Robolectric 和 Android 生成代码覆盖率(测试)报告 原文链接 : Code coverage reports using Robolectric and Android 原文作者 : Kris Vandermast 译文出自 : 开发技术前线 www.devtf.cn 译者 : normalme 校对者: Mr.Simple 状态 : 校对中 我写过许多测试驱动开发与陷阱
问题内容: 我正在尝试使用lcov为我的单元测试套件生成覆盖率报告,但是我什至无法捕获跟踪文件。错误消息表明找不到源文件。该代码由构建机器上的Jenkins作业编译,单元测试作为目标机器上的下游作业执行。源代码和gcno文件被传输到下游作业,然后下游作业执行对lcov的调用。以下是所有详细信息,可能需要一杯咖啡。 在构建机器上,执行make 我想要覆盖的源代码在以下子目录中 目标文件和gcno文件
我在测试android以创建覆盖率测试报告时遇到问题。我使用./gradlew createDebugCoverageReport命令创建覆盖率报告。已创建报告,但所有测试的结果均为%0。第一个设备已植根,但第二个设备未植根。我们使用这两个设备测试勺子,并查看勺子输出。所以这两个设备一起使用。问题:当我们使用第一个设备(根设备)运行此命令时,将按预期创建所有覆盖率测试结果,但当我们同时使用两个设备
null 和之间的主要区别是什么? 必须修改源代码才能集成这些框架吗? 一个框架比另一个框架有什么优势吗?如果是,那么哪个框架最适合Android应用程序的UI自动化?
我在IntelliJ IDEA上设置了一个Java应用程序。我有几个测试,我需要为每个测试单独生成覆盖报告。 IntelliJ IDEA 覆盖率运行器一次运行所有测试,并生成显示整体覆盖率的单个报告。如何在分级脚本中使用智能IDEA IDEA覆盖运行器或Jaco插件来生成单独的测试报告?