Articles of jacoco

java.lang.NoClassDefFoundError:解析失败:Lorg / jacoco / agent / rt / internal_14f7ee5 /离线

在更新到Gradle Build Tools 2.1.3和Gradle 2.14.1之后,我在Android项目中看到以下错误。 它在我运行应用程序时立即发生。 我该如何解决? java.lang.NoClassDefFoundError: Failed resolution of: Lorg/jacoco/agent/rt/internal_14f7ee5/Offline; at com.ourapp.next.conversation.SomeList.SomeListViewModel.$jacocoInit(SomeListViewModel.java) at com.ourapp.next.conversation.SomeList.SomeListViewModel.(SomeListViewModel.java) at com.ourapp.next.conversation.SomeList.SomeListAdapterTest.(SomeListAdapterTest.java:26) at java.lang.reflect.Constructor.newInstance(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:288) at org.junit.runners.BlockJUnit4ClassRunner.createTest(BlockJUnit4ClassRunner.java:217) at org.junit.runners.BlockJUnit4ClassRunner$1.runReflectiveCall(BlockJUnit4ClassRunner.java:266) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.BlockJUnit4ClassRunner.methodBlock(BlockJUnit4ClassRunner.java:263) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.junit.runners.Suite.runChild(Suite.java:128) at org.junit.runners.Suite.runChild(Suite.java:27) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) […]

如何使用jacoco获取android test apk的代码覆盖率报告?

我们有java lib,用于unit testing(apktypes),白盒测试(apktypes)和android样本(也用于自动化测试)。 任务是在自动测试运行所有这些测试后获取代码覆盖率报告。 这个java lib是使用特殊工具(不是Eclipse,maven等)构建的。 所有apk文件都是使用Ant构建的。 如何使用Jacoco获得此类报告? 是否有可能创建总报告,这将是每个测试应用程序合并报告的结果? 任何教程或有用的信息将不胜感激。

如何在android studio中运行Jacoco进行代码覆盖

我已经在android studio中调试了一下。 我的app模块的gradle配置文件包含以下内容: debug{ testCoverageEnabled true } 然后我在终端中运行以下命令: gradlew createDebugCoverageReport 事实上,我得到了一个报告,但应用程序也崩溃了一个只读错误,我似乎无法搞清楚。 我正在使用mac。 这是堆栈跟踪: **java.io.FileNotFoundException: /jacoco.exec: open failed: EROFS (Read-only file system)** 03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at libcore.io.IoBridge.open(IoBridge.java:416) 03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at java.io.FileOutputStream.(FileOutputStream.java:88) 03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at org.jacoco.agent.rt.internal_932a715.output.FileOutput.openFile(FileOutput.java:67) 03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at org.jacoco.agent.rt.internal_932a715.output.FileOutput.startup(FileOutput.java:49) 03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at org.jacoco.agent.rt.internal_932a715.Agent.startup(Agent.java:122) 03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ […]

Jacoco覆盖率报告问题

我正在尝试定义位置,jacoco将为真实设备上运行的检测测试创建覆盖文件。 从gradle任务的–debug运行中我看到这个日志: [DEBUG] [org.gradle.api.Task] DeviceConnector ‘Nexus 5X – 6.0.1’: installing /home/martin/workspace/lib/my-lib/build/outputs/apk/my-lib-debug-androidTest-unaligned.apk [INFO] [org.gradle.api.Task] Starting 1 tests on Nexus 5X – 6.0.1 [INFO] [org.gradle.api.Task] de.my.lib.utils.UtilsTest testMyTest[Nexus 5X – 6.0.1] [32mSUCCESS [0m [DEBUG] [org.gradle.api.Task] DeviceConnector ‘Nexus 5X – 6.0.1’: fetching coverage data from /data/data/de.my.lib.test/coverage.ec [DEBUG] [org.gradle.api.Task] DeviceConnector ‘Nexus 5X – 6.0.1’: uninstalling de.my.lib.test 13:46:14.538 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Finished […]

带Sonar和Gradle的Android Studio代码覆盖率

我正在尝试使用Android Studio中的Gradle为新的空Android项目提供代码覆盖率。 我设法让Sonar工作,但我似乎无法弄清楚代码覆盖率。 (之前从未做过类似的事情) 我看过JaCoCo,但它与Android不兼容。 Cobertura也是如此。 似乎Emma还没有与Gradle合作。 我使用的是Gradle 1.11,Android Studio 0.5.1和Sonar Runner 2.3

Android Gradle Jacoco:用于集成测试的离线工具

我们正在构建一个使用Appium进行测试的Android应用。 现在我想看看Appium测试的测试覆盖率。 我认为这是可能的,因为Jacoco支持离线仪器( http://www.eclemma.org/jacoco/trunk/doc/offline.html )。 甚至jacoco gradle插件的文档也说: 虽然所有types为Test的任务都会自动增强,以便在应用java插件时提供覆盖信息,但JaCoCo插件可以增强任何实现JavaForkOptions的任务。 也就是说,任何分叉Java进程的任务都可用于生成覆盖信息。 请参阅https://docs.gradle.org/current/userguide/jacoco_plugin.html 但是,我如何编写build.gradle,以便检测我们的验收调试风格,并在执行Appium测试或执行手动测试用例时将exec文件写入Smartphone? 因为那时我可以提取exec文件并将其发送给SonarQube进行进一步分析。 谢谢本

带有默认方法的Java 8接口启用Jacoco时无效的方法

我们有一个带有默认方法的接口,我们在Java和Kotlin类中实现了该接口,并且我们提供了非默认方法的实现。 当我们在调试模式(没有testCoverageEnabled = true)运行时,应用程序按预期工作。 但是当我们使用testCoverageEnabled = true运行不同的配置时,应用程序崩溃并出现以下错误 java.lang.NoSuchMethodError: No static method $$triggerInterfaceInit()V in class Lcom/ui/viewholders/CAViewContract$$CC; or its super classes (declaration of ‘ui.viewholders.CAViewContract$$CC’ appears in /data/app/SMCXbiLYvHb1Kk08Kee__g==/base.apk) at home.c.CCFragment.(Unknown Source:0) at home.HomePageCardProvider.getFragment(HomePageCardProvider.java:17) at home.HomeFragment.handleCardFragment(HomeFragment.java:172) 注意: 1。JaCoCo版本:“0.8.0”2。操作系统:Android with minSdk 21 如果我们将minSdk更改为24,并且testCoverageEnabled = true本身,则它正在工作。 我们无法弄清楚确切的问题。

使用JaCoCo和Gradle进行espresso测试的代码覆盖率为0%

在我的esCopresso测试的JaCoCo代码覆盖率报告中,错过了所有的线和分支。 我在一个使用gradle 1.5.0构建的Android应用程序中使用JaCoCo。 我的gradle配置: apply plugin: ‘jacoco’ android { buildTypes { debug { testCoverageEnabled = true } } } jacoco { version ‘0.7.5.201505241946’ } 我关注这篇博文: Android应用程序的测试覆盖率报告 。 当我运行createDebugCoverageReport ,报告将在正确的文件夹(build / reports / coverage / flavor / debug / index.html)中生成。 但是,当我打开覆盖率报告时,我的代码覆盖率在每个指令和分支上都是0%。 一切都“错过”了。 首先我认为问题可能是源代码和测试代码的位置,但它们位于/src/main/java/和/src/androidTest/java/ 任何人都知道如何解决这个问题?

Sonar Jacoco为Kotlin Setup不生成代码覆盖率

我正在尝试使用Jacoco为Kotlin进行声纳设置以生成代码覆盖率报告,但它没有显示任何代码覆盖率。 在检查Sonar控制台时,它显示以下错误。 任何人之前都遇到过这个问题,任何建议可能会错过。 元信息 插件使用sonarqube版本“2.6.1” gradleVersion =’3.0.1′ kotlinVersion =’1.2.21′ Sonarqube版本=版本6.7.1(版本35068) – LGPL v3 令人沮丧的是,我的设置项目生成空白代码覆盖率报告:(。PFA。 编辑:请find项目结构快照。 我正在添加声纳和Jacoco gradle文件设置我用来生成声纳矩阵报告。 这是sonar.gradle文件: sonarqube { properties { property “sonar.projectKey”, “jacoco.sonar.test” property “sonar.projectName”, “Sonar Jacoco Test” property “sonar.projectVersion”, “1.1” property “sonar.java.source”, “7” property “sonar.android.lint.report”, “build/outputs/lint-results.xml” property “sonar.java.binaries”, “build/tmp/kotlin-classes” property “sonar.java.test.binaries”, “build/intermediates/classes/test/,build/tmp/kotlin-classes/devDebugUnitTest” property “sonar.tests”,”src/test/java” property “sonar.sources”,”src/main/java” property “sonar.java.coveragePlugin”, “jacoco” property “sonar.jacoco.reportPaths”,”build/jacoco/testDevDebugUnitTest.exec” property […]

Android – Jacoco代码覆盖忽略了Robolectric测试

尝试使用Jacoco在Android上的Robolectric测试中获得代码覆盖率,但它在创建报告时拒绝承认我的Robolectric测试。 我的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*.*’, ‘**/*$ViewBinder*.*’, […]