ios – XCTests物理设备失败:“取消超时测试…”

XCT测试失败,并显示以下信息:***在等待测试过程中取消超时测试检入…这几天刚刚开始出现.我正在使用 Xcode 7.3.1,iOS 9.3.2在iPhone 6上运行.我的应用程序主要是在 Swift中编写的.

我看过一些类似的帖子:

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

那些其他帖子谈到这个问题是由代码签名引起的.代码签名似乎不是我的问题 – 我查看了KeyChain Access实用程序,没有看到任何相关的过期证书.此外,到目前为止(非常暂时)修复我的问题是重新启动我的iPhone. (不幸的是,该修复程序不会持续很长时间 – 也许是几次XCtests运行,问题再次出现).我没有运行jenkins,只是XCTests.

我已经尝试重新启动Xcode并从DerivedData文件夹中删除所有文件/文件夹,但这两个都不能解决问题.

我只是安装Xcode8(第一个beta版本).但除了推出一两次,我一般不会使用它.这似乎是偶然巧合的,这个问题是在刚刚安装之后出现的.

更新6/25/16

我把这个问题缩小了一点.与超时问题同时出现其他几个症状:

>直接从XCTest文件中的打印语句控制台记录停止.
计时器的失败 – 这实际上是问题的根源.我的测试涉及到首先等待一些服务器交互发生.但是等待使用一个从不执行回调的NSTimer.
>断点停止工作.

看来值得注意的是我手动运行这些XCTest.也就是说,我分别运行每个测试,因此每个测试涉及一个构建.

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

>重新启动Xcode(没有帮助)
>重新启动Mac OS X(没有帮助)
>删除派生数据内容(没有帮助)
>重新启动iPhone – 有助于,但只能再次允许运行几个Xcode测试.
在iPhone上尝试使用wifi和热点(无更改)
> TODO:运行模拟器
>这可能是电缆还是USB端口问题?更改连接设备的电缆没有帮助.
>删除应用程序并重新安装/重建没有帮助.
>尝试在不同的硬件(iPad Air运行iOS 9.3.2).同样的问题

我的配置是: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-not-building操作不必首先编译.

以上是来客网为你收集整理的ios – XCTests物理设备失败:“取消超时测试…”全部内容,希望文章能够帮你解决ios – XCTests物理设备失败:“取消超时测试…”所遇到的程序开发问题。

如果觉得来客网网站内容还不错,欢迎将来客网网站推荐给程序员好友。