AndroidStudio上未显示AndroidTest文件夹

a0zr77ik  于 2023-03-16  发布在  Android
关注(0)|答案(7)|浏览(461)

我正在使用Gradle和Android Studio设置Android应用结构,并为某个项目进行Espresso UI测试。
无论我怎么尝试,androidTest文件夹都不会出现在AndroidStudio的项目结构中。
项目(根)build.gradle:

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

allprojects {
    repositories {
        mavenCentral()
    }
}

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

项目结构外观:

项目结构的实际情况:

guz6ccqo

guz6ccqo1#

构建变体中的测试工件更改为Android工具测试
“构建变体”选项卡位于Android Studio窗口左下方的“收藏夹”上方。单击该选项卡应打开一个窗格,其中包含您的模块以及这些模块的构建变体。模块上方是“测试工件”下拉列表,您应将其更改为“Android工具测试”。

sdnqo3pr

sdnqo3pr2#

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

经过大量的研发,我找到了合适的解决方案。现在它起作用了。

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

添加上述代码后,“androidTest”文件夹现在出现了!!

ulmd4ohb

ulmd4ohb3#

这是因为我将当前变量设置为release。将其改回debug并执行Gradle同步导致androidTest文件夹再次显示。

bfrts1fy

bfrts1fy4#

以防有人仍然被这个问题困扰,我建议你自己重新创建文件夹,这比我想象的要容易得多!这里:按照照片中的步骤操作。x1c 0d1x
别忘了从android切换到project,这样你就有了和下图一样的目录树,只需创建文件夹和文件,然后你就可以切换回android,它会给予你和图片右边一样的目录树。
并且ExampleInstrumentedTest类可以如下所示:

@RunWith(AndroidJUnit4.class)
public class ExampleInstrumentedTest {

}

而ExampleUnitTest类可以如下所示:

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

x4shl7ld5#

只需打开右侧的Gradle窗格。
app > Tasks > build下双击assembleAndroidTest,它将生成测试包。

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

以下是全部内容:

w8f9ii69

w8f9ii696#

androidTest.setRoot("androidTest")

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

tf7tbtn2

tf7tbtn27#

您只需要将以下行添加到您的build.gradle文件:

androidTest.setRoot('src/androidTest')

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

相关问题