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

时间:2015-10-30 02:29:15

标签: android eclipse unit-testing android-studio tdd

当Test Artifact切换到Android Instrumentation Test时,androidTest出现在我的Android Studio上。但是,当测试工件切换回单元测试时。整个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 Instrumentation Test中。

1 个答案:

答案 0 :(得分:1)

我相信这就是答案。我甚至在Unit Test Artifact中设法创建了测试文件夹。当应用程序有多种变体时,Gradle不知道项目结构,导致它失去检测单元测试和仪器测试的能力。所以为了实现Unit Test,在build.gradle中的android方法中添加test方法;对于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代码的目录。