我已经编写了一个测试,检查一些值是否会降至零,直到5秒。每一秒NSTimer都会触发一个方法,将该值减1。
看起来像这样:
let foo = SomeObject(initWithTime: 5)
let expectation = expectationWithDescription("Ohai")
timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: foo, selector: Selector("decrement"), userInfo: nil, repeats: true)
XCTAssertTrue(foo.isFinished, "Foo is finished, so it should be true")
expectation.fulfill()
waitForExpectationsWithTimeout(5.0, handler: nil)
当foo达到零时,isFinished设置为true。定时器工作正常,但期望不等待5秒,只是立即崩溃。发生了什么?
答案 0 :(得分:0)
似乎您的XCTAssertTrue立即失败,因为foo可能在立即调用时未完成。