我有5个Flavors映射到2个源文件夹,其中一些公共代码写在主文件夹中,b文件夹有一些额外的bean,我已经编写了单元测试,现在我想运行单元测试,就像在main中的所有单元测试一样文件夹运行时为B app编写了一些特定的单元测试。
1.我应该在哪里放置B app的文件夹特定单元测试。我已经修改了文件夹测试并将这些测试放在该文件夹中并添加
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'
}
}
答案 0 :(得分:0)
如果你有产品风味和构建类型这样创建。
buildTypes {
release {
...
}
debug {
debuggable true
}
}
productFlavors {
develop {
}
production {
}
}
您可以在工作室终端中使用此命令运行基于flavor的测试。
所以模式就像测试< 风味>< BuildType > UnitTest