21

我正在 androidstudio 中的应用程序上试验风味。我必须为风味编写不同的测试类,因为我有不同的风味类文件。但我想知道是否有任何选项可以为 build.gradle 中的每种风味指定测试包。这是我的 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:+'

}
4

2 回答 2

37

文档

测试多口味项目与更简单的项目非常相似。

androidTest 源集用于所有风格的通用测试,而每种风格也可以有自己的测试。

如上所述,创建了用于测试每种风味的源集:

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

因此,就像您现在应该拥有包含每种风味特定代码的“免费”和“付费”文件夹一样,您可以添加“androidTestFree”和“androidTestPaid”文件夹,您可以在其中添加针对每种风味的测试用例。

于 2014-03-13T11:19:34.847 回答
4

这真的是为我做的:如何以二维风格指定单元测试文件夹

dependencies {
  androidTestFlavor1Compile "..."

  //In your case androidTestStbAppleCompile         
}
于 2016-11-22T14:45:53.697 回答