6.6 测试
测试多 flavor 工程和测试普通的工程差不多。
androidTest sourceset 对所有的 flavor 来说是通用的测试,而每个 flavor 也可以有他们自己的测试。
正如前面所提到的,每一个 flavor 都可以创建自己的测试 sourceSets :
- android.sourceSets.androidTestFlavor1 ,位置是src/androidTestFlavor1/
- android.sourceSets.androidTestFlavor2 ,位置是src/androidTestFlavor2/
同样的,他们也可以有他们自己的依赖:
dependencies {
androidTestFlavor1Compile "..."
}
运行测试可以通过主的 deviceCheck 引导任务,当使用 flavor 的时候,也可以通过主的 androidTest 引导任务来执行。
每一个flavor都有他们自己运行测试的任务:androidTest\
- androidTestFlavor1Debug
- androidTestFlavor2Debug
同样的,每一个 variant 也都有测试APK任务、安装以及卸载任务:
- assembleFlavor1Test
- installFlavor1Debug
- installFlavor1Test
- uninstallFlavor1Debug
- …
最终的HTML报告会根据 flavor 合并生成。
测试结果以及报告的位置如下,第一个是每个 flavor 的结果,然后是合并起来的:
- build/androidTest-results/flavors/\
- build/androidTest-results/all/
- build/reports/androidTests/flavors\
- build/reports/androidTests/all/
自定义路径的话,也只是改变根目录,仍然会创建每个 flavor 的子文件夹并且合并测试结果以及报告。