我正在使用Android Studio IDE中的android项目。有没有办法为android项目中的某些代码创建测试,不需要运行android VM?我无法将'tests'文件夹标记为测试并在其中创建java文件。此外,我在模块中看不到任何与测试相关的设置。
更新
我正在尝试下一个build.gradle:
android {
compileSdkVersion 19
buildToolsVersion "19.0.3"
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
}
// ...
}
apply plugin: "java"
sourceSets {
simpleTest {
java {
srcDir 'test/java'
}
resources {
srcDir 'test/resources'
}
compileClasspath += sourceSets.main.runtimeClasspath
}
}
task simpleTest(type: Test) {
description = "Runs simple tests"
testClassesDir = sourceSets.simpleTest.output.classesDir
classpath += sourceSets.simpleTest.runtimeClasspath
}
但是我收到了一个错误:
12:19:10 Gradle'app'项目刷新失败: 已经应用了'java'插件,但它与Android插件不兼容。
答案 0 :(得分:0)
http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Simple-build-files中android
插件的Android Gradle插件状态用户指南java
插件与java-base
插件不兼容(仅适用于{{1}}的Android项目):
重要提示:您应该只应用android插件。应用java插件也会导致构建错误。
Android开发的单元测试从一开始就没有得到很好的支持,您的问题与Android project with Robolectric and Gradle (Android studio)有很大的重叠。在Android Studio版本和Gradle插件更新之间也经常发生变化。
答案 1 :(得分:0)
这在当时是具有挑战性的,但是现在就像1-2-3一样简单,并且是日常例行工作: https://developer.android.com/training/testing/unit-testing/local-unit-tests.html