Articles of jacoco

Jacoco Android createDebugCoverageReport未find

我想在Android应用程序中运行我的测试并创建覆盖率报告,因此我将Jacoco配置添加到我的build.gradle文件中,但它不起作用。 apply plugin: ‘com.android.application’ android { compileSdkVersion 22 buildToolsVersion ‘22.0.1’ defaultConfig { applicationId “mm” minSdkVersion 12 targetSdkVersion 18 } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.txt’ } } packagingOptions { exclude ‘META-INF/LICENSE.txt’ exclude ‘META-INF/NOTICE.txt’ } } dependencies { compile ‘com.google.code.gson:gson:2.1’ compile files(‘libs/android-async-http-1.4.4.jar’) compile files(‘libs/freemarker.jar’) compile files(‘libs/greendao-1.3.1.jar’) compile files(‘libs/raygun4android-1.1.0.jar’) compile ‘com.android.support:appcompat-v7:22.2.0’ compile ‘com.android.support:recyclerview-v7:22.2.0’ testCompile […]

JaCoCo不适用于Robolectric测试

我想在我的android项目中生成我的JUnit测试的代码覆盖率报告,所以我添加了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: […]

Android Studio中的Jacoco代码覆盖范围

我一直试图在一段时间内安静地进行Jacoco测试覆盖。 我在这些主题中尝试了几种可能的解决方案: 使用JaCoCo Gradle插件的Android测试代码覆盖率 如何使用Android gradle插件0.10.0或更高版本获取jacoco覆盖率报告? 我使用genymotion在一个emulatated设备中运行测试。 这是我添加到build.gradle的内容: apply plugin: ‘jacoco’ android{ jacoco { version “0.7.1.201405082137” } buildTypes{ debug{ testCoverageEnabled = true } } } jacoco { toolVersion “0.7.1.201405082137” } 为了运行它,我使用类似的东西 ./gradlew clean ./gradlew createFLAVOR_NAMEDebugCoverageReport 相关生成的文件/文件夹是: /build/intermediates/coverage-instrumented-classes /build/intermediates/jacoco /build/outputs/code-coverage/connected/flavors/MyFlavor/coverage.ec 但是,没有@ build / reports / jacoco / test / html / index.html或任何html页面/代码覆盖率报告@ / build / outputs。 […]

在Android工作室的Jacoco Code Coverage

我正在尝试生成Jacoco代码覆盖率报告。 我已经为我的测试类使用了AndroidTestCase。 我发现使用testCoverageEnabled为true并使用默认的android -studio默认jacoco,./ gradlew connectedCheck或createDebugCoverageReport创建成功/失败测试用例的百分比,但没有覆盖率报告。 然后我尝试了jacoco {toolVersion“0.7.1.201405082137”}和任务jacocoTestReport(types:JacocoReport,dependsOn:“testDebug”)。 我试图用各种任务来改变dependsOn值。 该报告显示0(零)测试覆盖率,这是不可能的,因为至少有一半的类被测试。 在过去的几天里,我已经按照各种已接受的堆栈溢出答案。 结果是否定的。 我的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 { […]

使用testCoverageEnabled = true运行Android测试时的java.lang.VerifyError

我最近为Android Gradle插件尝试了新的Jacoco代码覆盖function,不幸的是它使我的测试失败并出现以下错误: 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 } … 有谁遇到过同样的问题?

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

我正在尝试检查我在Kotlin中编写的测试用例的代码覆盖率。 当我执行./gradlew createDebugCoverageReport –info ,我的coverage.ec文件为空,我的报告显示我有0%的覆盖率。 请注意,测试用例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 […]

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 = […]