Я хочу отложить выполнение теста на 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
функции ожидания , говоря:
Тайм-аут всегда рассматривается как сбой теста.
Какие у меня варианты?