我有一个有 4 个目标的项目,因为它是一个白标应用程序,基本上大部分代码都是通用的,除了品牌(图像、颜色等)。
我正在尝试为每个设置 UI 快照测试,但我也想避免重复代码,所以我不希望每个品牌有 4 个不同的 UI 测试目标,有 4 个不同的 UI 文件夹。
我确实根据这篇文章在线找到了一个选项:https ://medium.com/@rijalab/how-to-use-one-test-target-files-for-two-app-targets-in-ios-37df53265a5
其中确实涉及创建单独的测试目标,但仍然为您的测试用例保留一个文件夹,您可以在其中添加目标之间的切换,例如:
#if Brand1Test
@testable import Brand1
#elseif Brand2Test
@testable import Brands2
.
.
and so on
#endif
当然,这在单元测试的情况下有效,但在 UI 快照测试的情况下,shapshots 将始终位于同一个文件夹中 ->> 因此,它们总是会失败,因为当您切换品牌时它们不匹配。
我的问题是:
- 我如何/在哪里可以覆盖此路径,并最终在 ReferenceImage 快照文件夹中首先分离品牌,所以... UITests/ReferenceImages/Brand1/ButtonSnapshot 等。
- 除了我找到的解决方案之外,还有更好的解决方案吗?