我想延迟一个测试的进度 T 秒,而不生成超时。
首先,我尝试了显而易见的方法:
sleep(5)
XCTAssert(<test if state is correct after this delay>)
但是那样做失败了。
接着我尝试了:
let promise = expectation(description: "Just wait 5 seconds")
waitForExpectations(timeout: 5) { (error) in
promise.fulfill()
XCTAssert(<test if state is correct after this delay>)
}
我的XCTAssert()
现在成功了。但是waitForExpectations()
因超时而失败。
根据XCTest
等待函数的文档,超时始终被视为测试失败。
我有哪些选择?