XCTest:检查是否未调用回叫

问题描述 投票:0回答:1

我知道如何在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对象的状态为特定值时,不调用回调。

swift callback xctest xctestexpectation
1个回答
0
投票

这可以通过在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)
© www.soinside.com 2019 - 2024. All rights reserved.