在 Xcode 中有单独的测试目标方案吗?
Posted
技术标签:
【中文标题】在 Xcode 中有单独的测试目标方案吗?【英文标题】:Having separate schemes for test targets in Xcode? 【发布时间】:2018-11-01 12:07:16 【问题描述】:我们的项目结构如下:
Workspace:
- app project
- cocoapods project
App scheme:
- app target (run)
- ui test target (test)
- unit test target (test)
升级到 Xcode 10 后,Xcode 坚持构建整个项目,包括 pod 和 ui 测试,每次运行单个单元测试,这是一个相当繁重和缓慢的过程。
如果我创建一个仅包含单元和/或 ui 测试的单独方案,它只会在我运行它们时重新构建测试。随心所欲。
但是,由于它们不再是主应用方案的成员,我不能再按主方案上的测试,因为它不再包含测试目标。
然后我的问题是:在运行单个单元测试时,是否正常或建议使用单独的测试方案,或者我可以防止整个项目以另一种方式重建?
(注意:我在单元测试中将 Host Application 设置设置为 None,所以我不明白为什么它总是构建整个项目?)
【问题讨论】:
【参考方案1】:为什么不两者兼而有之?在您的“测试所有事物”方案中,添加每个测试目标。这个方案应该共享。
但是当我在一个目标上工作时,我会单独为它制定一个计划。 (更准确地说,AppCode 为我创建了一个。)此类方案不共享。
【讨论】:
我也想过,但是我们需要能够单独启用/禁用测试,并且在一个方案中禁用目标测试时,它不会影响另一个方案中的设置,这会创建一个维护噩梦。以上是关于在 Xcode 中有单独的测试目标方案吗?的主要内容,如果未能解决你的问题,请参考以下文章
带有主机应用程序的 Xcode 测试目标强制错误的目标进入方案的构建部分