Android 构建工具 1.1.0,单元测试文件夹?

标签 android android-gradle-plugin robolectric android-build build-tools

我最近在我的 android 项目中安装了来自 google 的最新工具:

buildscript {
      repositories {
         jcenter()
         mavenCentral()
      }
      dependencies {
         classpath 'com.android.tools.build:gradle:1.1.0'
      }
}

allprojects {
    repositories {
        jcenter()
    }
}

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    defaultConfig {
        applicationId "com.xxx"
        minSdkVersion 10
        targetSdkVersion 21
        versionCode 200
        versionName "2.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    signingConfigs {
        debug {
            ...
        }
        release {
            ...
        }
    }
    buildTypes {
        release {
            ...
        }
        debug {
            ...
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.3'

    // ---- Tests with robolectric
    testCompile 'com.google.guava:guava:14.0.1'
    testCompile 'junit:junit:4.+'
    testCompile 'org.robolectric:robolectric:2.4'
    testCompile 'org.mockito:mockito-all:2.0.2-beta'

    // ---- Tests with Espresso
    androidTestCompile ('com.android.support.test.espresso:espresso-core:2.0') {
        exclude module: 'hamcrest-core'
    }
    androidTestCompile 'org.hamcrest:hamcrest-core:1.1'
    androidTestCompile 'org.hamcrest:hamcrest-integration:1.1'
    androidTestCompile 'org.hamcrest:hamcrest-library:1.1'
    androidTestCompile ('com.android.support.test:testing-support-lib:0.1') {
        exclude module: 'hamcrest-core'
    }
    androidTestCompile 'com.android.support.test.espresso:espresso-contrib:2.0'
    androidTestCompile('junit:junit-dep:4.10') {
        exclude module: 'hamcrest-core'
    }
}

在那之前,我曾经使用 com.github.jcandksolutions.gradle:android-unit-test:2.1.1 在 jvm 中运行我的 robolectric 测试。 正如谷歌对其新构建工具所说:“新的源文件夹被识别为单元测试:src/test/java、src/testDebug/java、src/testMyFlavor/java 等。” 但是正如您在下面看到的,我的测试文件夹未被识别为源文件夹。它适用于 com.github.jcandksolutions.gradle:android-unit-test:2.1.1,但不再适用于新的构建工具:

enter image description here

我在这里缺少什么?谢谢

最佳答案

我找到了在 IDE 左下角的 Test Artifacts 之间切换的解决方案。在这个屏幕上只有“Android Instrumentation Tests”可用,因为我降级了我的 android 工具,但是使用工具 1.1.0+ 你应该看到不同类型的测试让 IDE 将它们识别为源文件夹。

enter image description here

关于Android 构建工具 1.1.0,单元测试文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28661618/

相关文章:

java - 使用 GSON 进行通用 Parcelable——如何检索类类型

Android fragment ,在 TabHost 中找不到 id 的 View

java.lang.ClassCastException : android. widget.LinearLayout 无法转换为 android.support.v7.widget.Toolbar

android - 为什么我看不到cardView的内容?

android - 使用 Robolectric 2 测试可序列化的包裹

android - 如何对长文本进行分页?

android - 无法解析从本地源模块构建的本地 AAR

android - 在生成 .aar 文件的 Gradle 项目中添加依赖项

android - 使用 Robolectric 检查调用的方法

java - 在 Robolectric 中为内部嵌套保护类创建阴影