测试

最后更新于:2022-04-01 02:26:05

# 测试 测试 multi-flavors 项目非常类似于测试简单的项目。 **androidTest** 的 *sourceSet* 用于定义所有 flavor 共用的测试,但是每一个 flavor 也可以有它特有的测试。 正如前面提到的,每一个 flavor 都会创建自己的测试 sourceSet: - **android.sourceSets.androidTestFlavor1**位于 `src/androidTestFlavor1/` - **android.sourceSets.androidTestFlavor2**位于 `src/androidTestFlavor2/` 同样的,它们也可以拥有自己的依赖关系: ~~~ dependencies { androidTestFlavor1Compile "..." } ~~~ 这些测试可以通过主要的标志性 **deviceCheck** task 或者主要的 **androidTest** task(当 flavor 被使用的时候这个 task 相当于一个标志性 task)来执行。 每个 flavor 也拥有自己的 task 来执行测试:`androidTest<VariantName>`。例如: - **androidTestFlavor1Debug** - **androidTestFlavor2Debug** 同样的,每个 variant 版本也会创建对应的测试 APK 构建 task 和 安装或卸载 task: - **installFlavor1Debug** - **assembleFlavor1Test** - **installFlavor1Test** - **uninstallFlavor1Debug** - ... 最终的 HTML 报告根据每个 flavor 的报告汇总而成。 下面是测试结果和报告文件的路径,每组第一个是每个 flavor 版本的结果,第二个是汇总结果: - `build/androidTest-results/flavors/<FlavorName>` - `build/androidTest-results/all/` - `build/reports/androidTests/flavors<FlavorName>` - `build/reports/androidTests/all/` 改变 report 或 results 的输出文件夹都只会改变对应的根目录,构建时仍会创建每个 flavor 的文件夹,并且仍会汇总测试结果以及报告文件。
';