AndroidStudio 上不显示 AndroidTest 文件夹

AndroidTest folder doesn't show on AndroidStudio

我正在使用 Gradle 和 Android Studio 和 Espresso UI 测试项目来设置 Android 应用程序结构。

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

项目(根)build.gradle:

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

allprojects {
    repositories {
        mavenCentral()
    }
}

应用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'
}

项目结构:

项目结构实际上是怎样的:

Build Variants 中的 Test Artifact 更改为 Android Instrumentation Tests.

Build Variants 选项卡位于收藏夹上方 Android Studio window 的左下方。单击该选项卡应打开一个包含您的模块的窗格并为这些模块构建变体。模块上方是一个测试工件下拉列表,您应该将其更改为 Android Instrumentation Tests。

androidTest.setRoot("androidTest")

此路径是相对于 build.gradle 文件的。只需删除它,gradle 将自动选择您的 src/androidTest 文件夹,因为您的项目遵循默认文件结构。

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

androidTest.setRoot('src/androidTest')

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

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

经过大量研发后,我找到了合适的解决方案。现在可以使用了..

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

}

添加以上代码后出现“androidTest”文件夹!!

只需打开右侧的 Gradle 窗格。

未满 app > Tasks > build双击assembleAndroidTest 它将生成测试包。

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

这就是全部:

以防万一有人仍然被这个问题所困扰,我建议您自己重新创建文件夹,这比我想象的要容易得多!此处:按照照片中的步骤操作。

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

您的 ExampleInstrumentedTest class 可以如下所示:

@RunWith(AndroidJUnit4.class)
public class ExampleInstrumentedTest {

}

ExampleUnitTest class 可以如下所示:

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

我遇到了这种情况,因为我将当前变体设置为 release。将其改回 debug 并进行 Gradle 同步导致 androidTest 文件夹再次出现。