waitForExpectations在Swift中没有按预期工作

时间:2018-04-17 17:43:03

标签: swift unit-testing tdd

尝试在Swift 4中编写单元测试,以获取已经正常工作的方法并且无法获得正确的结果。我目前的做法是:

    let expected = expectation(description: "Obtain access keys")
    let keys = sut.retrieveAccessKeys()
    //sleep(5)
    if keys != nil {
        expected.fulfill()
    } else {
        XCTFail("ERROR: Failed obtaining access keys")
    }

    waitForExpectations(timeout: 5) { error in
        let myError = error as? Error
        print("ERROR: \(String(describing: myError?.localizedDescription))")
    }
}

如果钥匙串中不存在值,则sut通过完成处理程序进行网络调用。我得到的输出错误是:

Error: The operation couldn’t be completed. (com.apple.XCTestErrorDomain error 0.)

我尝试了各种方式,包括添加sleep(5)sut. retrieveAccessKeys()确实有效,生成的keys包含一个可选元组。

0 个答案:

没有答案