私はandroidstudioのアプリケーションでフレーバーを実験しています。フレーバーのクラスファイルが異なるため、フレーバーのさまざまなテストクラスを作成する必要があります。しかし、build.gradleで各フレーバーのテストパッケージを指定するオプションがあるかどうか疑問に思います。これが参考のために私のbuild.gradleです。 AndroidStudioの0.4.6バージョンを使用しています。
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:+'
}
ドキュメント から
マルチフレーバープロジェクトのテストは、単純なプロジェクトと非常によく似ています。
AndroidTestソースセットは、すべてのフレーバーにわたる共通のテストに使用されますが、各フレーバーは独自のテストを持つこともできます。
上記のように、各フレーバーをテストするためのsourceSetが作成されます。
- Android.sourceSets.androidTestFlavor1
- Android.sourceSets.androidTestFlavor2
したがって、各フレーバーに固有のコードを含む「無料」および「有料」フォルダーがあるはずのように、「androidTestFree」および「androidTestPaid」フォルダーを追加して、各フレーバーに固有のテストケースを追加できます。
これは本当に私のためにそれをしたことです: 2次元フレーバーでユニットテストフォルダーを指定する方法
dependencies {
androidTestFlavor1Compile "..."
//In your case androidTestStbAppleCompile
}