不了解 XCTest 期望的单元测试异步 UI 代码?

Unit testing asychronous UI code which does not know about XCTestExpectations?

如何对在非平凡图形设置中工作的 iOS 代码片段进行单元测试?

考虑例如视图控制器 AB,其中 ABperformSegueWithIdentifier:sender: 堆叠在顶部。单元测试应该检查 C 的行为,这取决于像这样排列的两个视图控制器。

performSegueWithIdentifier:sender: 异步工作,即单元测试将在完成任务之前结束,除非让单元测试等待 XCTestExpectation 之类的东西。但是在这种情况下,BC 都不准备根据该期望调用 fulfill

在这种情况下是否有前进的方向,即测试异步 UI 代码而没有准备好调用 fulfill 的钩子?

我得出结论,采用集成测试框架(例如 KIF)可能是可行的方法。