首页 > 解决方案 > 我想针对特定的构建类型运行单元测试和浓缩咖啡测试用例

问题描述

我有一个多个 falvoured 和多个构建类型的项目..有一些 espresso 和单元测试用例成功运行但要成功运行它们我已经模拟了我的 api 响应目前我在 android studio 中手动将构建类型更改为 staging 然后运行那些测试。现在我正在将我的项目与詹金斯集成,在詹金斯我的测试失败了,因为詹金斯正在所有构建类型上运行测试用例。长话短说,我希望我的测试用例只使用暂存构建类型运行。

标签: androidunit-testingjenkinsgradleandroid-espresso

解决方案


android测试支持风格和构建类型变体中所述?,您可以为特定口味创建androidTesttest文件夹。您还可以将其扩展为构建类型。Gradle 允许您为构建类型和风格的任何特定组合构建测试。

假设您有两种构建类型(stagingdebug)和两种风格(trialfull)。以下所有都是有效的文件夹名称:

  • src/androidTestStaging- 为所有staging构建风格运行的测试
  • src/testFullfull- 为所有具有风味的构建运行测试
  • src/androidTestTrialDebug- 仅在构建trial风格上运行的测试debug
  • src/testFullStaging- 仅在构建full风格上运行的测试stagins

androidTest这些文件夹中的每一个都具有与和完全相同的目录结构test。每个文件夹中的测试将仅针对由所有指定的构建类型和风格组成的构建运行。

请注意,这可以迅速爆发成许多组合。例如,如果您有 3 个构建类型和 2 个风味维度,每个维度有 3 个风味,那么您现在有 27 个不同的构建。为这些中的每一个维护测试可能是一场噩梦,因此您仍然应该遵循标准的软件工程实践来编写可以尽可能多地重用的测试和帮助程序类和函数。


推荐阅读