Android 单元测试工件未出现 Studio 测试文件夹

Android Studio Test Folder not appearing for Unit Test Artifact

当 Test Artifact 切换到 Android Instrumentation Test 时,androidTest 出现在我的 Android Studio 中。但是,当 Test Artifact 切换回 Unit Test 时。整个 androidTest 文件夹消失。这个项目是从 Eclipse 迁移过来的。我的项目有多种口味。

Gradle.build

sourceSets {
    main {
       // manifest, java, renderscript, aidl, assets, res detail etc etc
    }
    flavour1 {
       // manifest, java, renderscript, aidl, assets, res detail etc etc
    }
    flavour2 {
       // manifest, java, renderscript, aidl, assets, res detail etc etc
    }
    flavour3 {
       // manifest, java, renderscript, aidl, assets, res detail etc etc
    }
    flavour4 {
       // manifest, java, renderscript, aidl, assets, res detail etc etc
    }
    androidTest.setRoot('tdd/test')
    androidTest {
         java.srcDirs = ['tdd/test/java']
    }
}

我不明白为什么它在单元测试中消失,但在 Android 仪器测试中出现。

我相信这就是答案。即使在 Unit Test Artifact 中,我也设法创建了测试文件夹。当应用程序有多个变体时,Gradle 不知道项目结构,导致它失去检测单元测试和仪器测试的能力。所以为了实现单元测试,在build.gradle中的android方法内添加测试方法;至于Android Instrumentation Test,在build.gradle;

中的android方法中添加androidTest方法

示例:

build.gradle

sourceSets {
     test.setRoot('anydir') // for Unit Test
     androidTest.setRoot('anydir') // for Android Instrumentation Test
}

仅当 Android Studio 无法识别您的测试文件夹时才需要上述代码,因为您有多个变体并且您更改了 java 代码的目录。