Xcode跨方案的共享测试计划导致每个目标都要建立一个测试计划。

问题描述 投票:0回答:1

在我的Xcode项目中,我有一个简单的Test Plan(配置单一),我之所以要换成这个Test Plan,是因为我的项目中针对不同的应用目标有多个方案,但测试是共享的(因为它们的相关性并不特别局限于一个目标,虽然只有一个主机应用是可能的)。我希望目前所有的目标都有一个测试计划,但当我创建测试计划并将其添加到每个方案中,然后运行测试时,我可以清楚地看到每个目标都已构建。因此,我每添加一个目标,构建和运行测试所需的时间长度就会逐渐增加。在 2019年WWDC视频 在测试计划上清楚地写着它们可以在多个计划之间共享,但并没有说更多。

这是它应该做的吗?或者有什么方法可以在不同方案之间共享测试计划,但只构建正在测试的活动目标?

EDIT:注意,在本地以及自动化CI中运行测试,所以需要一个同时适用于两种情况的解决方案。

其实我不确定是不是因为测试计划而构建多个目标,因为只有几个目标在构建中显示,而有的目标却在构建中显示(虽然可能是Xcode在优化,跳过了多余的构建,因为其他的每一个都和正在构建的其中一个差不多)。

ios xcode unit-testing xctest xctestplan
1个回答
0
投票

啊哈!根本不是关于测试计划,而是各个测试捆绑里面的依赖关系。当我在切换到测试计划之前回去注意到有几个目标还在为单个测试捆绑构建时,才意识到这一点。

在Xcode项目设置中点击计划,进入Build Phases标签,然后在dependencies下检查有哪些目标。

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

即使我的测试计划禁用了UI测试,我想它仍然在构建所有的依赖项。清理了这个问题后,我的构建问题就解决了。

© www.soinside.com 2019 - 2024. All rights reserved.