2

在 Xcode 10(目前是 beta 1)中,我为我的 iOS 项目的测试套件开启了并行测试。

“编辑方案”>“测试”>“信息”。勾选“在模拟器上并行执行”

在此处输入图像描述

引入此功能是为了通过一次启动多个模拟器以在它们上传播测试套件来减少测试时间。(不要与 Xcode 9 中引入的并行测试混淆,它不包括测试套件传播)。

我有 200 次测试,这些是我的结果:

  • 0.6 秒无并行执行
  • 0.9 秒,并行执行

所以显然这不能正常工作。我想这可能与模拟器的启动时间有关。但这不是执行时间计算的一​​部分。所以,要么是 Xcode 10 测试版中的一个错误,要么是我没有正确设置它。

4

2 回答 2

4

有一些开销。XCTest 需要克隆模拟器,以便每个实例之间的状态相同。每个克隆都必须完成引导。

由您决定并行化是否会改善测试的执行时间。UI 测试几乎总是更快。单元测试结果取决于项目的详细信息及其运行的测试。

于 2018-07-27T02:46:24.373 回答
2

我刚刚还在一个大约 250k 行代码的中型项目中进行了广泛的测试,我注意到一些非常相似的东西。虽然构建(干净构建和增量构建)的速度与 Xcode 9.4 大致相同,但我还看到运行测试的速度降低了大约 20%。

请注意,尽管该项目的测试相对较少,而且 Apple 通常会在 beta 3 和 beta 6 之间提高性能,因为 beta 1 和 beta 2 主要是为我们提供新功能。所以让我们看看这将如何随着下一个测试版而改变......

我也没有看到演示中的“一屏八个模拟器”功能,是吗?

于 2018-06-05T15:38:24.003 回答