Android 单元测试只有放在 androidTest 文件夹中才能编译

Android unit test only compiles if placed in androidTest folder

我正在使用 Android Studio 1.1.0。我试图将我的单元测试和集成测试分开。集成测试位于文件夹 src/androidTest/java 中。我正在尝试在 src/test/java/ 中创建我的单元测试。根据 documentation.

这应该是可能的

Android Plug-in for Gradle version 1.1.0 and higher allows you to create a source directory (src/test/java) in your project to store JUnit tests that you want to run on a local machine.

我的 build.gradle 依赖项看起来有点像这样:

buildscript {
    repositories {
        jcenter()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.2.3'
        classpath 'com.jakewharton.sdkmanager:gradle-plugin:0.12.+'
    }
}
...
dependencies {
    ...
    androidTestCompile 'junit:junit:4.12'
    androidTestCompile 'org.mockito:mockito-all:1.9.5'
    androidTestCompile 'org.mockito:mockito-core:1.10.19'
    androidTestCompile files('libs/dexmaker-mockito-1.0.jar')
    androidTestCompile files('libs/dexmaker-1.0.jar')

    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:runner:0.3'
    androidTestCompile ('com.android.support.test:testing-support-lib:0.1') {
        exclude module: 'hamcrest-core'
    }
    androidTestCompile ('com.android.support.test.espresso:espresso-core:2.2') {
        exclude module: 'hamcrest-core'
    }
}

这应该适用于所有账户,但如果我将它放在 src/test/java 中,我编写的示例测试根本无法编译。如果我将它放在 src/androidTest/java 中,它会编译并运行良好。我错过了什么?我目前无法升级到 Android Studio 1.2。我已将 Test Artifact 设置为 Unit Test

如果您正在使用单元测试,请将您的依赖项添加为 testCompile ...

并且您需要更改构建变体。

勾选http://tools.android.com/tech-docs/unit-testing-support