android - 我想针对特定的构建类型运行单元测试和浓缩咖啡测试用例
问题描述
我有一个多个 falvoured 和多个构建类型的项目..有一些 espresso 和单元测试用例成功运行但要成功运行它们我已经模拟了我的 api 响应目前我在 android studio 中手动将构建类型更改为 staging 然后运行那些测试。现在我正在将我的项目与詹金斯集成,在詹金斯我的测试失败了,因为詹金斯正在所有构建类型上运行测试用例。长话短说,我希望我的测试用例只使用暂存构建类型运行。
解决方案
如android测试支持风格和构建类型变体中所述?,您可以为特定口味创建androidTest
和test
文件夹。您还可以将其扩展为构建类型。Gradle 允许您为构建类型和风格的任何特定组合构建测试。
假设您有两种构建类型(staging
和debug
)和两种风格(trial
和full
)。以下所有都是有效的文件夹名称:
src/androidTestStaging
- 为所有staging
构建风格运行的测试src/testFull
full
- 为所有具有风味的构建运行测试src/androidTestTrialDebug
- 仅在构建trial
风格上运行的测试debug
src/testFullStaging
- 仅在构建full
风格上运行的测试stagins
androidTest
这些文件夹中的每一个都具有与和完全相同的目录结构test
。每个文件夹中的测试将仅针对由所有指定的构建类型和风格组成的构建运行。
请注意,这可以迅速爆发成许多组合。例如,如果您有 3 个构建类型和 2 个风味维度,每个维度有 3 个风味,那么您现在有 27 个不同的构建。为这些中的每一个维护测试可能是一场噩梦,因此您仍然应该遵循标准的软件工程实践来编写可以尽可能多地重用的测试和帮助程序类和函数。
推荐阅读
- ios - How to Hide MPCommandCenter manually?
- amazon-web-services - AWS / Quicksight / AWS4Signer / Signature Mismatch
- php - How to batch update multiple records using CodeIgniter query builder?
- python - What is the best way to read a JSON file and obtain the values without the invisible characters in Python?
- selenium - Trying to perform selenium testing using chrome driver but facing issue with below error while executing in cli as headless browser
- python - 将值从表单传递到另一个页面
- sql - Recursive SQL Query with Postgres Ranges To Find Availability
- android - How to make firebase storage reference to a certain bucket?
- amazon-web-services - 为什么我的 AWS Congito 用户在使用 Auth.currentAuthenticatedUser() 时能够登录,但“未通过身份验证”?
- python - 识别日期格式并将其更改为另一种