相关疑难解决方法(0)

如何使用Android Studio获取代码覆盖率?

我正在使用Android Studio开发应用程序.
我能够运行测试代码.
但是,我不知道如何在android studio中获得代码覆盖率.

我已经看到以下链接.
Android Gradle Code Coverage
但我迫不及待地想要更新到支持emma的v0.6.

项目配置如下.

主要代码
MyProject/AppName/src/main/java/mypackage/MyClass.java

测试代码
MyProject的/ AppName的/ src目录/ instrumentTest/JAVA/mypackage的/测试/ MyClassTest.java

项目配置
MyProject的
├─build.gradle
└─AppName
    ├─build.gradle
    └─src
        ├─main
        │├─java
        ││└─mypackage
        ││└─MyClass.java
        │├─res
        │└─AndroidManifest.xml
        └─ instrumentTest
            └─java
                └─mypackage
                    └─test
                        └─MyClassTest.java

android code-coverage gradle android-studio

65
推荐指数
3
解决办法
5万
查看次数

如何使用Android gradle插件0.10.0或更高版本获取jacoco覆盖率报告?

我正在尝试使用Gradle Android插件0.10.2获取测试覆盖率报告.但是在运行一些测试后我仍然无法获得覆盖率报告.(connectedAndroidTest).

我的主模块的build.gradle是:

apply plugin: 'android'

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.3"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        debug {
            testCoverageEnabled true
        }

        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
    }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:19.+'
}
Run Code Online (Sandbox Code Playgroud)

而project的build gradle的buildscript部分是:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.10.+'
    }
}
Run Code Online (Sandbox Code Playgroud)

一旦我gradlew connectedAndroidTest从终端运行,我可以在文件夹中找到coverage-instrumented-classescode-coverage文件build夹.但我coveragereports文件夹中找不到文件夹.(只有我能看到的是androidTests文件夹) …

android unit-testing gradle jacoco android-gradle-plugin

38
推荐指数
4
解决办法
4万
查看次数

使用JaCoCo Gradle插件的Android测试代码覆盖率

我是Gradle和Android测试的新手,但我已经将我的Android项目转换为使用Gradle构建.

现在,我正在尝试使用Gradle的JaCoCo插件执行Android项目的测试覆盖.

我已将以下内容添加到build.gradle文件中:

apply plugin: 'jacoco'
Run Code Online (Sandbox Code Playgroud)

当我运行"gradle jacocoTestReport"时出现以下错误:

Task 'jacocoTestReport' not found in root project '<project name>'.
Run Code Online (Sandbox Code Playgroud)

从文档我应该也应用插件'java'但它与插件'android'冲突.

有没有解决的办法?

提前致谢.

testing android code-coverage gradle jacoco

32
推荐指数
2
解决办法
2万
查看次数

android jacoco覆盖空与gradle

我正在尝试让jacoco为我的android测试项目创建一个代码覆盖率报告.我在build.gradle中有以下内容:

apply plugin: 'com.android.application'
apply plugin: 'jacoco'
...
jacoco {
    toolVersion = "0.7.1.201405082137"
}
...
android {
    buildTypes {
        release {
        }
        debug {
            testCoverageEnabled true
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当我运行gradlew -i createDebugCoverageReport时,我得到一个覆盖率报告,但它是空的.gradle执行结束如下:

:androidTest:connectedAndroidTest (Thread[main,5,main]) completed. Took 2 mins 36.951 secs.
:androidTest:createDebugCoverageReport (Thread[main,5,main]) started.
:androidTest:createDebugCoverageReport
Executing task ':androidTest:createDebugCoverageReport' (up-to-date check took 0.006 secs) due to:
  Output file /home/akos/src/androidTest/build/outputs/reports/coverage/debug has changed.
  Output file /home/akos/src/androidTest/build/outputs/reports/coverage/debug/index.html has been removed.
  Output file /home/akos/src/androidTest/build/outputs/reports/coverage/debug/.resources/package.gif has been removed.
[ant:reportWithJacoco] Loading execution data file /home/akos/src/androidTest/build/outputs/code-coverage/connected/coverage.ec
[ant:reportWithJacoco] Writing bundle …
Run Code Online (Sandbox Code Playgroud)

android code-coverage gradle jacoco

6
推荐指数
2
解决办法
7085
查看次数