在Android Studio中测试不同风格的包

use*_*183 13 android gradle android-studio android-gradle-plugin android-productflavors

我在androidstudio中的应用程序上试验风味.我必须为这些口味编写不同的测试类,因为我有不同的类文件.但我想知道是否有任何选项可以为build.gradle中的每个flavor指定测试包.这是我的build.gradle供参考.我使用0.4.6版本的AndroidStudio.

apply plugin: 'android'

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.1"

defaultConfig {
    minSdkVersion 8
    targetSdkVersion 19
    testPackageName "com.example.tests"
}

productFlavors {

    Paid {

        packageName "com.example.paid"

    }
    Free {

        packageName "com.example.free"
    }
}

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

    Paid {
        java.srcDirs = ['src/Paid/java']
        res.srcDirs = ['src/Paid/res']
    }

    Free {
        java.srcDirs = ['src/Free/java']
        res.srcDirs = ['src/Free/res']
    }
}

signingConfigs {

    releaseConfig {

        storeFile file('filename');
        storePassword('filepwd');
        keyAlias "aliasname";
        keyPassword "aliaspassword";
    }

}

buildTypes {

    release {

        runProguard true
        debuggable false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        signingConfig signingConfigs.releaseConfig
        packageNameSuffix ".release"

    }

    debug {

        runProguard false
        debuggable true
        packageNameSuffix ".debug"

    }       
 }
}

dependencies {

    compile project(':androidViewPagerIndicator_library')
    compile 'com.android.support:appcompat-v7:+'

}
Run Code Online (Sandbox Code Playgroud)

iva*_*arz 30

文档中

测试多味道项目与更简单的项目非常相似.

androidTest源集用于跨所有风格的常见测试,而每种风格也可以有自己的测试.

如上所述,创建了测试每种风味的sourceSets:

  • android.sourceSets.androidTestFlavor1
  • android.sourceSets.androidTestFlavor2

因此,正如您现在应该拥有特定于每种风格的代码的"免费"和"付费"文件夹一样,您可以添加"androidTestFree"和"androidTestPaid"文件夹,您可以在其中添加特定于每种风格的测试用例.

  • 我尝试在src文件夹中添加androidTestFree和androidTestPaid文件夹,就像我有InstrumentTest文件夹一样.但是当我选择风味时,没有检测到类,当我运行类时,我会收到Empty Test Suite警告. (2认同)