1

我正在尝试将以下代码块转换为 Quick/Nimble,但没有任何成功

XCTWaiter().wait(for: [XCTNSPredicateExpectation(predicate: NSPredicate(format: "height == 0"), 
                                                 object: vc.myView.frame)], 
                 timeout: 1)

我尝试了以下但测试没有通过

waitUntil(timeout: 2) { done in
    expect(vc.myView.frame.height).to(equal(0))
    done()
}

提前感谢您的帮助!

4

2 回答 2

2

我认为“toEventually”是您正在寻找的。这是示例:

expect(vc.myView.frame.height).toEventually(equal(0), timeout: 2)

更多可以在这里查看:https ://github.com/Quick/Nimble#asynchronous-expectations

于 2019-12-05T08:13:35.277 回答
1

您还可以全局设置超时,例如,一旦您的测试开始,它适用于所有toEventually调用:

敏捷 >= 9.0.0

Nimble.AsyncDefaults.timeout = .seconds(2)

敏捷 < 9.0.0

Nimble.AsyncDefaults.Timeout = 2
于 2020-10-21T15:53:46.887 回答