Xcode 10 并行测试套件测试速度较慢,测试数量较少
Posted
技术标签:
【中文标题】Xcode 10 并行测试套件测试速度较慢,测试数量较少【英文标题】:Xcode 10 parallel test suite testing is slower with a low number of tests 【发布时间】:2018-06-05 09:18:03 【问题描述】:在 Xcode 10(当前为 beta 1)中,我为我的 ios 项目的测试套件开启了并行测试。
“编辑方案”>“测试”>“信息”。勾选“在模拟器上并行执行”
引入此功能是为了减少测试时间,方法是一次启动多个模拟器以在它们上分布测试套件。 (不要与 Xcode 9 中引入的并行测试相混淆,后者不包括测试套件传播)。
我有 200 次测试,这些是我的结果:
0.6 秒无并行执行 0.9 秒并行执行所以显然这不能正常工作。我想这可能与模拟器的启动时间有关。但这不是执行时间计算的一部分。所以,要么是 Xcode 10 测试版中的一个错误,要么是我没有正确设置它。
【问题讨论】:
【参考方案1】:有一些开销。 XCTest 需要克隆模拟器,以便每个实例之间的状态相同。每个克隆都必须完成启动。
您可以自行决定并行化是否会缩短测试的执行时间。 UI 测试几乎总是更快。单元测试结果取决于项目的详细信息及其运行的测试。
【讨论】:
【参考方案2】:我刚刚还在一个包含大约 250k 行代码的中型项目中进行了广泛的测试,我注意到一些非常相似的东西。虽然构建(干净构建和增量构建)的速度与 Xcode 9.4 大致相同,但我还看到运行测试的速度降低了大约 20%。
请注意,尽管该项目的测试相对较少,而且 Apple 通常会在 beta 3 和 beta 6 之间提高性能,因为 beta 1 和 beta 2 主要是为我们提供新功能。那么让我们看看下一个测试版会如何改变...
我也没有看到演示中的“一屏八个模拟器”功能,是吗?
【讨论】:
你是对的。我们现在应该等待。我看到 3 个模拟器弹出用于我的测试。以上是关于Xcode 10 并行测试套件测试速度较慢,测试数量较少的主要内容,如果未能解决你的问题,请参考以下文章
在同一 iOS 设备上使用 xcodebuild 运行并行测试
Selenium GRID:并行运行多个 Robot Framework 测试套件