我正在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:+'
}
答案 0 :(得分:29)
测试多种口味项目与更简单的项目非常相似。
androidTest源代码集用于所有风格的常见测试, 虽然每种口味也可以有自己的测试。
如上所述,创建了测试每种风味的sourceSets:
- android.sourceSets.androidTestFlavor1
- android.sourceSets.androidTestFlavor2
所以,就像你现在应该拥有的那样“免费”#39;并且'付费'具有特定于每种风味的代码的文件夹,您可以添加' androidTestFree'和' androidTestPaid'您可以在其中添加特定于每种口味的测试用例的文件夹。
答案 1 :(得分:1)
这就是为我做的事情:How to specify unit test folder in two-dimension flavor
dependencies {
androidTestFlavor1Compile "..."
//In your case androidTestStbAppleCompile
}