AndroidStudio上没有显示AndroidTest文件夹

时间:2015-05-17 22:23:55

标签: android android-studio android-testing android-espresso

我正在为一个项目设置Gradle和Android Studio以及Espresso UI测试的Android应用程序结构。

无论我尝试什么,androidTest文件夹都不会出现在AndroidStudio的项目结构中。

Project(root)build.gradle:

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

allprojects {
    repositories {
        mavenCentral()
    }
}

App build.gradle:

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

apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.0"

    defaultConfig {
        applicationId "es.unizar.vv.mobile.catmdedit.app"
        minSdkVersion 16
        targetSdkVersion 16
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'

            java {
                srcDir 'src/main/java'
            }
            resources {
                srcDir 'src/main/resources'
            }
            res.srcDirs = ['res']
        }

        test.setRoot("test")

        androidTest.setRoot("androidTest")
    }
}

dependencies {
    androidTestCompile 'com.android.support.test:runner:0.2'
    androidTestCompile 'com.android.support.test:rules:0.2'
    androidTestCompile 'com.android.support.test.espresso:espresso-core:2.1'
}

项目结构的外观:

enter image description here

项目结构实际如何:

enter image description here

6 个答案:

答案 0 :(得分:16)

构建变体中的测试工件更改为 Android Instrumentation测试

“构建变体”选项卡位于“收藏夹”上方Android Studio窗口的左下角。单击选项卡应打开包含模块的窗格,并为这些模块构建变体。模块上方是Test Artifact下拉列表,您应该将其更改为Android Instrumentation Tests。

答案 1 :(得分:11)

您只需要在build.gradle文件中添加这些行

//经过大量的R& D后,我找到了合适的解决方案。现在它正在运作..

android{    
            sourceSets{
            main { java.srcDirs = ['src/main/java'] }
            test { java.srcDirs = ['src/test/java'] }
            androidTest { java.srcDirs = ['src/androidTest/java'] }
        }

}

//添加上面的代码后,“androidTest”文件夹出现!!

答案 2 :(得分:1)

以防万一仍有人遇到这个问题,我建议您只是重新创建自己的文件夹,这比我想象的要简单得多!此处:按照照片中的步骤操作。enter image description here

别忘了从android切换到项目,这样您将拥有下图所示的相同目录树,并简单地创建文件夹和文件,然后您可以切换回android,它将为您提供与图片右侧的目录树相同。

和您的ExampleInstrumentedTest类看起来像这样:

@RunWith(AndroidJUnit4.class)
public class ExampleInstrumentedTest {

}

和ExampleUnitTest类可以如下所示:

public class ExampleUnitTest {
    @Test
    int addition(){
        return 60;
    }
}

答案 3 :(得分:0)

androidTest.setRoot("androidTest")

此路径与build.gradle文件相关。只需删除它,当您的项目遵循默认文件结构时,gradle将自动选择您的src / androidTest文件夹。

答案 4 :(得分:0)

只需打开右侧的Gradle窗格即可。

app > Tasks > build双击assembleAndroidTest 并会生成测试包。

:app:packageDebugAndroidTest
:app:assembleDebugAndroidTest
:app:assembleAndroidTest

这是全部:

答案 5 :(得分:-1)

您只需将这些行添加到 build.gradle 文件中:

androidTest.setRoot('src/androidTest')

androidTest  { 
    java { 
        srcDirs 'src/androidTest/java' 
    } 
}