我知道如何在XCT中等待有期望的回调。但是,如何测试逆函数呢?
下面是我作为测试一部分的测试示例:
manager.state = .initialized
let exp = expectation(description: "expectation")
manager.login { state, error in
exp.fulfill()
XCTAssert(state == .initialized)
XCTAssertNil(error)
}
waitForExpectations(timeout: 1)
在下一个测试中,我要进行测试以确保当我的manager
对象的状态为特定值时,不调用回调。
这可以通过在isInverted = true
对象上设置XCTestExpectation
来完成,如下所示:
manager.state = .initialized
let exp = expectation(description: "inverted expectation")
exp.isInverted = true
manager.login { state, error in
exp.fulfill()
}
waitForExpectations(timeout: 1)