gpt4 book ai didi

ios - XCTests 在物理设备上失败 : "Canceling tests due to timeout ..."

转载 作者:IT王子 更新时间:2023-10-29 05:14:20 24 4
gpt4 key购买 nike

XCTests 失败并显示消息:*** Cancelling tests due to timeout in Waiting for test process to check in... 这最近几天才开始出现。我使用的是 Xcode 7.3.1,iOS 9.3.2 在 iPhone 6 上运行。我的应用主要是用 Swift 编写的。

我看过一些类似的帖子:

  1. Unable to run XCTests on iOS device
  2. iOS tests will not run on simulator when using Jenkins through JNLP

其他帖子讨论了代码签名引起的这个问题。代码签名似乎不是我的问题——我查看了 KeyChain Access 实用程序,但没有看到任何相关的过期证书。另外,到目前为止(非常暂时地)解决我的问题是重启我的 iPhone。 (不幸的是,该修复不会持续很长时间——也许运行几次 XCtest 后问题又出现了)。我不运行 Jenkins,只运行 XCTests。

我已尝试重新启动 Xcode 并从 DerivedData 文件夹中删除所有文件/文件夹,但这些都无法解决问题。

确实只是安装了 Xcode8(第一个测试版)。但是除了启动过一两次之外,我一般不会使用它。这个问题是在刚刚安装后出现的,这似乎是巧合。

2016 年 6 月 25 日更新

我已经缩小了这个问题的范围。与超时问题同时出现的还有其他几个症状:

  1. 直接从 XCTest 文件中的 print 语句进行的控制台日志记录停止。
  2. 计时器失灵——这实际上是问题的根源。我的测试涉及首先等待发生的一些服务器交互。但是等待使用一个从不执行回调的 NSTimer。
  3. 断点停止工作。

似乎值得注意的是,我正在手动运行这些 XCTest。也就是说,我单独运行每个测试,因此每个测试都涉及一个构建。

此外,到目前为止,我已经测试了以下内容:

  1. 重新启动 Xcode(没有帮助)
  2. 重新启动 Mac OS X(没有帮助)
  3. 删除派生数据内容(没有帮助)
  4. 重启 iPhone——有帮助,但只能再次运行一些 Xcode 测试。
  5. 尝试在 iPhone 上使用 wifi 与热点运行(问题没有变化)
  6. TODO:使用模拟器运行
  7. 这可能是数据线或 USB 端口问题?更换连接设备的电缆没有帮助。
  8. 删除应用程序并重新安装/重建没有帮助。
  9. 尝试了不同的硬件(运行 iOS 9.3.2 的 iPad Air)。同样的问题。

我的配置是:iOS 9.3.2、Xcode 7.3.1、Mac OS X 10.11.5 (15F34)。

最佳答案

问题在于(或者更确切地说:xcodebuild 中的严重错误)连接到 XCTest 服务器的超时从您发出命令 xcodebuild 的那一刻开始。超时为 120 秒,因此如果您的模拟器编译 + 启动时间超过 2 分钟,xcodebuild 将给出此“由于超时而取消测试”错误。

解决方案是将构建分解为两个命令。一个用于构建,一个用于运行测试:

> xcodebuild clean build build-for-testing <other options>
> xcodebuild test-without-building <other options>

这将解决超时问题,因为 test-without-building 操作不必先编译。

关于ios - XCTests 在物理设备上失败 : "Canceling tests due to timeout ...",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37922146/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com