我可以在不失败的情况下做出 XCTest 期望吗?
Posted
技术标签:
【中文标题】我可以在不失败的情况下做出 XCTest 期望吗?【英文标题】:Can I make an XCTest Expectation without failing? 【发布时间】:2016-04-08 17:11:09 【问题描述】:我正在使用 Xcode 7,Swift UI 自动化。我需要等待 UIButton 出现在我的主屏幕中。我为“exists == 1”设定了一个期望。
这个 UIButton 有时会出现,有时不会。 在我的 UI 测试期间,如果元素出现,则一切正常。 但是如果元素没有出现,则期望失败(我不希望它失败,我只需要采取另一个行动流程)
如果我们的测试实际上失败了,我该如何做出决定?
【问题讨论】:
如果您知道按钮应该何时显示,您可以添加一个简短的睡眠呼叫sleep(3)
,然后检查按钮是否存在
这就是我正在做的,也是我想要避免的。我不想使用 sleep() 调用。谢谢
【参考方案1】:
您必须等待期望并处理它,如果这没有发生,请在括号中执行其他操作。
let exists = NSPredicate(format: "exists == 1")
expectationForPredicate(exists, evaluatedWithObject: UIButton, handler: nil)
waitForExpectationsWithTimeout(10) error in
somethings else
干杯
【讨论】:
以上是关于我可以在不失败的情况下做出 XCTest 期望吗?的主要内容,如果未能解决你的问题,请参考以下文章