测试完成后 Xcode 继续

Posted

技术标签:

【中文标题】测试完成后 Xcode 继续【英文标题】:Xcode continues after test completes 【发布时间】:2014-05-06 00:59:51 【问题描述】:

什么会导致 Xcode 认为测试尚未完成?

我对一个多线程组件(使用 GCD)进行了许多单元测试,其中测试完成,但 Xcode 需要另外几分钟左右才能识别出测试实际上已经完成。

我知道测试已经完成,因为调试控制台中显示以下文本:

Test Suite 'Multiple Selected Tests' finished at 2014-05-06 00:45:56 +0000.
Executed 1 test, with 0 failures (0 unexpected) in 1.249 (1.258) seconds
Program ended with exit code: 0

我可以很好地调试测试和组件,但是当我在代码末尾继续时,Xcode 还需要几分钟左右才会说测试已完成。

有什么想法会导致这种情况吗?我正在拔头发。

OS X 10.9.2 Xcode 5.1.1 适用于 ios 7.1 的 iOS 模拟器

谢谢,

大卫

【问题讨论】:

在您的测试中,您可能需要阻塞直到所有异步任务完成。很难对线程代码进行单元测试 感谢您的回复。我会再试一次,但我已经尽我所能做到了。这只发生在少数几个测试中,这很奇怪。 【参考方案1】:

结果证明这是一个使用 NSLog 进行调试日志记录过多的问题。我的测试使用了一个模拟的 NSURLProtocol,我用大量的文本调用 NSLog。显然,这对应用程序和 Xcode 之间的通信链接产生了影响。删除那些对 NSLog 的调用解决了这个问题。

【讨论】:

以上是关于测试完成后 Xcode 继续的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 测试后不退出

想要在 Xcode 中的 UI 测试期间在测试运行后停止调试控制台清除

Xcode UI 测试:如何在继续测试之前检查下一个 XCUIElement 是啥

更新到 Xcode 10 后 XCUITest 的测试目标似乎不起作用

断言失败后继续

Xcode 6 远程集成