【问题标题】:XCTest: Check That a Callback is Not CalledXCTest:检查是否未调用回调
【发布时间】:2020-06-30 03:03:20
【问题描述】:

我知道如何在 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】:

    这可以通过在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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-17
      • 2020-09-30
      • 1970-01-01
      • 2017-12-20
      • 2022-01-04
      • 1970-01-01
      相关资源
      最近更新 更多