代码之家  ›  专栏  ›  技术社区  ›  shim

Xcode跨方案共享测试计划导致每个目标构建

  •  0
  • shim  · 技术社区  · 4 年前

    我在Xcode项目中有一个简单的测试计划(具有单一配置),我正在切换到该计划,因为我的项目中有多个针对不同应用程序目标的方案,但测试是共享的(因为它们在相关性方面并不特别局限于一个目标,尽管只有一个宿主应用程序是可能的)。我现在想为所有目标制定一个测试计划,但当我创建测试计划并将其添加到每个方案中,然后运行测试时,我可以清楚地看到每个目标都已构建。因此,对于我添加的每个目标,构建和运行测试所需的时间都会逐渐增加。这个 2019 WWDC video 《测试计划》明确表示,它们可以在多个方案中共享,但仅此而已。

    这就是它应该表现的样子吗?或者,是否有一种方法可以在方案之间共享测试计划,但只构建正在测试的活动目标?

    编辑:注意,在本地和自动化CI中运行测试,因此需要一个同时适用于两者的解决方案。

    实际上,我不确定它是否因为测试计划而构建了多个目标,因为只有少数目标在构建中显示(尽管Xcode可能正在优化并跳过冗余构建,因为其他每个目标都与正在构建的目标几乎相同)。

    0 回复  |  直到 4 年前
        1
  •  0
  •   shim    4 年前

    啊哈!这根本不是关于测试计划,而是关于单个测试包内的依赖关系。在切换到测试计划之前,我意识到这一点,并注意到仍在为单个测试包构建几个目标。

    点击Xcode项目设置中的方案,转到构建阶段选项卡,然后在依赖项下检查有哪些目标。

    在我的例子中,我的一个测试包有两个目标,另一个测试包包含第三个目标(用于UI测试)。

    尽管我的测试计划禁用了UI测试,但我想它仍然在构建所有依赖关系。清理它解决了我遇到的构建问题!