【发布时间】:2017-03-21 09:08:43
【问题描述】:
我有 5 个 Flavors 映射到 2 个源文件夹,其中一些通用代码写在主文件夹中,b 文件夹有一些额外的 bean,我已经为其编写了单元测试,现在我想像 main 中的所有单元测试一样运行单元测试文件夹运行一些为 B 应用编写的特定单元测试。
1.我应该在哪里放置 B 应用程序的文件夹特定单元测试。我已经创建了一个文件夹 test 并将这些测试放在该文件夹中并添加
unitTest {
java.srcDir file('src/b/test')
}
在 B 应用程序的源集中,但不是这不起作用 2.我应该如何为单元测试放置映射,这些不是android测试,我已经厌倦了this和this但这些似乎是用于Android测试而不是用于单元测试。
productFlavors {
staging {
applicationIdSuffix = ".test"
resValue "string", "app_name", "A Test"
//other keys
}
prod {
resValue "string", "app_name", "A"
//other keys
}
dev {
applicationIdSuffix = ".dev"
resValue "string", "app_name", "A Dev"
//other keys
}
BStaging {
applicationIdSuffix = ".b.test"
resValue "string", "app_name", "B Test"
//other keys
}
BProd {
applicationIdSuffix = ".b"
resValue "string", "app_name", "B"
//other keys
}
}
sourceSets {
prod {
java.srcDirs = ['src/a/java']
res.srcDirs = ['src/a/res']
resources.srcDirs = ['src/a/java']
manifest.srcFile 'src/a/AndroidManifest.xml'
}
dev {
java.srcDirs = ['src/a/java']
res.srcDirs = ['src/a/res']
resources.srcDirs = ['src/a/java']
manifest.srcFile 'src/a/AndroidManifest.xml'
}
staging {
java.srcDirs = ['src/a/java']
res.srcDirs = ['src/a/res']
resources.srcDirs = ['src/a/java']
manifest.srcFile 'src/a/AndroidManifest.xml'
}
BStaging {
java.srcDirs = ['src/b/java']
res.srcDirs = ['src/b/res']
resources.srcDirs = ['src/b/java']
manifest.srcFile 'src/b/AndroidManifest.xml'
}
BProd {
java.srcDirs = ['src/b/java']
res.srcDirs = ['src/b/res']
resources.srcDirs = ['src/b/java']
manifest.srcFile 'src/b/AndroidManifest.xml'
}
}
【问题讨论】:
-
嘿,伙计,我没有使用源集,但我能够使用此命令模式运行基于风味的测试。 (不带引号)“./gradlew test
UnitTest”.
标签: java android unit-testing android-gradle-plugin android-sourcesets