Articles of jacoco

Android – Jacoco代码覆盖忽略了Robolectrictesting

试图在使用Jacoco的Android Robolectrictesting中获得代码覆盖率,但是在创build报告时,它拒绝承认我的Robolectrictesting。 我的jacoco.gradle文件如下: apply plugin: 'jacoco' jacoco { toolVersion = "0.7.6.201602180812" } project.afterEvaluate { android.applicationVariants.all { variant -> def name = variant.name def testTaskName = "test${name.capitalize()}UnitTest" tasks.create(name: "${testTaskName}Coverage", type: JacocoReport, dependsOn: "$testTaskName") { group = "Reporting" description = "Generate Jacoco coverage reports for the ${name.capitalize()} build." classDirectories = fileTree( dir: "${project.buildDir}/intermediates/classes/${name}", excludes: ['**/R.class', '**/R$*.class', '**/*$ViewInjector*.*', […]

如何从testing范围中排除Dagger2类

有什么select可以从Android Studio中的testing覆盖率报告中排除Dagger2类

在失败testing案例之后继续jacoco代码覆盖报告

如果testing用例在使用Jacoco插件的android studio中失败,则不会生成代码覆盖率报告。如何跳过失败的testing用例并生成代码覆盖率报告。

结合androidTest和testing的jacoco覆盖

自从'com.android.tools.build:gradle:1.1.0'发布以来,我将大部分的javatesting代码从androidTest到了test文件夹,因为JVMtesting速度要快得多。 但是我不能移动所有的testing。 我真的需要设备testing,因为一些ContentProvider东西。 在开始迁移之前,我已经有了100%的代码覆盖率。 当我正在运行jacoco代码覆盖率时,我得到了androidTest文件夹的40%和test文件夹的71%。 我的代码是100%testing,但我没有证据certificate这一点。 有没有办法把这两个报告结合起来? 我发现了JacocoMerge,但无法使其工作。 这是androidTest文件夹的输出: build/outputs/reports/coverage/debug/index.html 在这里使用这个gradle任务生成的test文件夹build/reports/jacoco/generateJacocoTestReports/html/index.html输出: def coverageSourceDirs = [ '../library/src/main/java' ] task generateJacocoTestReports(type: JacocoReport, dependsOn: "test") { group = "Reporting" description = 'Generate Jacoco Robolectric unit test coverage reports' classDirectories = fileTree( dir: '../library/build/intermediates/classes/debug', excludes: ['**//*R.class', '**//*R$*.class', '***/*//*$ViewInjector*.*', '**//*BuildConfig.*', '**//*Manifest*.*'] ) sourceDirectories = files(coverageSourceDirs) additionalSourceDirs = files(coverageSourceDirs) executionData = […]

Sonarqube的总体覆盖范围不符合jacoco报告的覆盖范围

我有一个多模块Android项目,我看到jacoco报告和Sonarqube报告的报道之间存在差异。 该项目也是一个多口味的项目,产生了很多不同的变种。 我正在使用这个插件来帮助我生成所有的任务。 这些任务为每个变体生成一个单独的报告。 当我运行我的jacoco报告时,我看到: 当我运行声纳扫描仪时,我看到: 我在我的项目上有一些排除,但即使没有他们,覆盖率也不匹配。 我觉得我可能不会提供在这个问题中暗示的相同的字节码: 这是我的相关信息:声纳版本5.6。 Gradle跑步者 plugins { id "org.sonarqube" version "2.0.1" } 声呐configuration:(在根build.gradle) sonarqube { properties { property "sonar.projectKey", "com.xxx.myApp" property "sonar.projectName", "Android My App" property "sonar.projectVersion", "3.0" property "sonar.java.binaries", "build/classes" property "sonar.coveragePlugin", "jacoco" property "sonar.jacoco.reportMissing.force.zero", "false" } } 声呐configuration(在应用程序/ build.gradle) sonarqube { properties { property "sonar.sources", "src/main/java" property "sonar.tests", […]

JaCoCo不能使用Robolectrictesting

我想在我的Android项目中生成我的JUnittesting的代码覆盖率报告,所以我添加了JaCoCo gradle插件。 这是我的项目级别build.gradle文件: apply plugin: 'jacoco' buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.0.0-beta6' classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' } } allprojects { repositories { jcenter() maven { url "https://oss.sonatype.org/content/repositories/snapshots" } } } task clean(type: Delete) { delete rootProject.buildDir } subprojects { prj -> apply plugin: 'jacoco' jacoco { toolVersion '0.7.6.201602180812' } task jacocoReport(type: JacocoReport, dependsOn: […]

Jacoco Code Coverage在android studio中

我正在尝试生成Jacoco代码覆盖率报告。 我已经使用AndroidTestCase为我的testing类。 我发现使用testCoverageEnabled true和使用默认的android-studio默认jacoco,./gradlew connectedCheck或createDebugCoverageReport创build成功/失败testing用例的百分比,但没有覆盖报告。 然后我尝试了jacoco {toolVersion“0.7.1.201405082137”}和任务jacocoTestReport(types:JacocoReport,dependsOn:“testDebug”)。 我试图用各种任务来改变dependsOn值。 报告显示0(零)testing覆盖率,这是不可能的,因为所有类别中至less有一半被testing。 在过去的几天中,我遵循了堆栈溢出的各种可接受的答案。 结果是消极的。 我的gradle文件: buildscript { repositories { mavenLocal() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:1.0.0' } } apply plugin: 'com.android.application' apply plugin: 'jacoco' android { compileSdkVersion 21 buildToolsVersion "21.1.2" defaultConfig { applicationId "test.gradle.com.myapplicationtestgradle" minSdkVersion 21 targetSdkVersion 21 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled […]

JaCoCo用Kotlin和Android 3.0返回0%的覆盖率

我试图检查我在Kotlin中编写的testing用例的代码覆盖率。 当我执行./gradlew createDebugCoverageReport –info ,我的coverage.ec文件是空的,我的报告显示我有0%的覆盖率。 请注意,testing用例是100%成功的。 任何人都可以想到任何原因,我的coverage.ec文件不断返回0字节? 我到处搜寻没有运气。 apply plugin: 'com.android.library' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'jacoco' android { compileSdkVersion 25 buildToolsVersion "25.0.3" defaultConfig { minSdkVersion 16 targetSdkVersion 25 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { debug { testCoverageEnabled = true } release { minifyEnabled false testCoverageEnabled = true proguardFiles […]

使用JaCoCo Gradle插件进行Androidtesting代码覆盖

我是新来的Gradle和Androidtesting,但我已经转换我的Android项目与Gradle构build。 现在我试图用Gradle的JaCoCo插件来testing一个Android项目的testing覆盖率。 我已经将以下内容添加到了我的build.gradle文件中: apply plugin: 'jacoco' 而当我运行“gradle jacocoTestReport”时出现以下错误: Task 'jacocoTestReport' not found in root project '<project name>'. 从文档我应该也应用插件'java',但它与插件'android'冲突。 有没有解决的办法? 提前致谢。

使用testCoverageEnabled = true运行Androidtesting时发生java.lang.VerifyError

我最近尝试了Android Gradle插件的新Jacoco代码覆盖function,不幸的是,这使得我的testing失败,出现以下错误: java.lang.VerifyError: com/foo/bar/rest/SomeClass at com.foo.bar.test.rest.BaseTest.setUp(BaseTest.java:87) at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:190) at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:175) at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555) at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1584) 我在build.gradle中使用这些行启用了代码覆盖: buildTypes { debug { testCoverageEnabled = true } … 有没有人遇到同样的问题?