java - 配置 Gradle + Robolectric

标签 java android gradle robolectric build.gradle

我开始使用 gradle 和 robolectric。

我正在关注这个例子:

http://www.peterfriese.de/android-testing-with-robolectric/

但是,他提示缺少 JUnit 和 Roboeletric 类。

下面是我的文件 build.gradle 和一些打印件

buildscript {
    repositories {
        mavenCentral()
        maven {
            url 'https://oss.sonatype.org/content/repositories/snapshots/'
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.9.+'
        classpath 'com.squareup.gradle:gradle-android-test-plugin:0.9.1-SNAPSHOT'
    }
}
apply plugin: 'android'
apply plugin: 'android-test'

repositories {
    mavenCentral()
}

android {


    compileSdkVersion 19
    buildToolsVersion "19.1.0"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }

    sourceSets {
        instrumentTest.setRoot('src/test')
    }
}

    dependencies {
        compile 'com.android.support:appcompat-v7:19.1.0'

    instrumentTestCompile 'junit:junit:4.10'
    instrumentTestCompile 'org.robolectric:robolectric:2.3-SNAPSHOT'
    instrumentTestCompile 'com.squareup:fest-android:1.0.+'

    testCompile 'junit:junit:4.10'
    testCompile 'org.robolectric:robolectric:2.3-SNAPSHOT'
    testCompile 'com.squareup:fest-android:1.0.+'
}

enter image description here

最佳答案

您必须添加构建类型 debug(正确地说您需要不同于发布构建类型)。这是方形测试插件要求以及 Robolectric 测试插件 ( https://github.com/robolectric/robolectric-gradle-plugin/blob/master/src/main/groovy/org/robolectric/gradle/RobolectricPlugin.groovy#L42 )。

修改你的 build.gradle 到 next:

buildTypes {

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

        debug {
        }

}

并且不要忘记将 Android studio 切换到调试变体: enter image description here

关于java - 配置 Gradle + Robolectric,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25492717/

相关文章:

java - 错误:(59, 8)错误: cannot access ActivityCompatApi23 class file for android. support.v4.app.ActivityCompatApi23 找不到

64-bit - 在 Windows 64 位平台上安装 32 位 JRE

android - 使用表格行动态填充表格布局

android - 创建用于应用程序的 Android 库的推荐方法是什么?

groovy - 仅在特定子项目上运行 Gradle ShadowJar 插件

android - 当存在多种 flavor /类型时,gradle 是否仅支持排除某些 flavor /构建类型的源文件?

java - linux - 如何运行 selenium-server-standalone?

java - (Spring Data MongoDB)多对多关系场景

android - 将 ImageButton 的默认背景设置为透明(使用 AndroidX)

java - Gradle、Tika - 排除一些使 "fat jar"太胖的依赖包