XCTest:检查回调是否未被调用

Stu*_*ner 3 callback xctest swift xctestexpectation

我知道如何在 XCT 中怀着期望等待回调。然而,逆向测试又如何呢?

以下是我的测试的一部分的测试示例:

manager.state = .initialized
let exp = expectation(description: "expectation")
manager.login { state, error in
    exp.fulfill()
    XCTAssert(state == .initialized)
    XCTAssertNil(error)
}
waitForExpectations(timeout: 1)
Run Code Online (Sandbox Code Playgroud)

manager在我编写的下一个测试中,我想要一个测试来确保当我的对象的状态为特定值时不会调用回调。

Stu*_*ner 8

这可以通过像这样设置对象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)
Run Code Online (Sandbox Code Playgroud)