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 ...
并且您需要更改构建变体。
我正在使用 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 ...
并且您需要更改构建变体。