我正在尝试Intellij 16 EAP,我无法在其中正确导入Android项目。 robolectric测试不被认为是项目的一部分
我导入的项目是一个示例项目,可以在github上找到:
https://github.com/robolectric/deckard
这是build.gradle文件:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.5.0'
}
}
repositories {
jcenter()
}
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion '23.0.2'
defaultConfig {
minSdkVersion 18
targetSdkVersion 23
versionCode 2
versionName "1.0.0-SNAPSHOT"
applicationId "com.example"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
packagingOptions {
exclude 'LICENSE.txt'
}
}
dependencies {
// Support v4
compile 'com.android.support:support-v4:23.1.1'
// Espresso
androidTestCompile 'com.android.support:support-annotations:23.1.1'
androidTestCompile 'com.android.support.test.espresso:espresso-contrib:2.2.1'
// Robolectric
testCompile 'junit:junit:4.12'
testCompile 'org.hamcrest:hamcrest-library:1.3'
testCompile 'org.apache.maven:maven-ant-tasks:2.1.3' // fixes issue on linux/mac
testCompile 'org.robolectric:robolectric:3.0'
}
有关为何发生这种情况的任何线索?
编辑: 1)如果我从gradle中删除所有的android插件,我只需添加java插件,立即识别单元测试并将它们添加到项目中。然后,当我切换回android插件时,intellij会再次删除它。 2)我尝试了Intellij 15和Android Studio 2.0,我得到了相同的结果
答案 0 :(得分:1)
可能你必须将测试文件夹标记为"测试文件夹"在模块设置中。 Ctrl + Alt +移+ S
还可以更好地使用金丝雀频道的Android Studio 2.0。它基于Intellij 15。
答案 1 :(得分:1)
经过一番挖掘,我发现这似乎是预期的做事方式。您只能随时在项目中导入检测测试或单元测试。您可以在“构建变体”窗口中的2之间切换。
我还发现了这段视频https://www.youtube.com/watch?v=vdasFFfXKOY&index=3&list=LLM9iluZir-2dWQTQ-WfJdbw,其中在15:30描述了这种奇怪的行为。他还说它将在Android Studio 2.0中修复,但通过测试显示相反的结果。