XCTest:检查是否未调用回调
XCTest: Check That a Callback is Not Called
我知道如何在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
对象的状态是特定值时不会调用回调。
这可以通过在 XCTestExpectation
对象上设置 isInverted = true
来完成,如下所示:
manager.state = .initialized
let exp = expectation(description: "inverted expectation")
exp.isInverted = true
manager.login { state, error in
exp.fulfill()
}
waitForExpectations(timeout: 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
对象的状态是特定值时不会调用回调。
这可以通过在 XCTestExpectation
对象上设置 isInverted = true
来完成,如下所示:
manager.state = .initialized
let exp = expectation(description: "inverted expectation")
exp.isInverted = true
manager.login { state, error in
exp.fulfill()
}
waitForExpectations(timeout: 1)