gpt4 book ai didi

ios - 使用 XCTest 进行异步方法测试

转载 作者:行者123 更新时间:2023-12-01 18:45:05 25 4
gpt4 key购买 nike

我是 XCTest 的新手并开始编写测试用例。我已经编写了几个功能测试用例,但我陷入了异步方法调用之下。我阅读了 XCTestExpectation 类引用,但无法正确模拟。

如果了解如何测试以下方法,这将非常有帮助。

这是我要测试的方法的详细信息,

- (void)getStudentInfo:(void (^)(BOOL))success failure:(void (^)(NSError *error))failure {


// Request formation CODE
// Here I have post call to AFNetworking

[httpSessionManager POST:uri
parameters:para
success:^(NSURLSessionDataTask *task, id responseObject) {

failure:^(NSURLSessionDataTask *task, NSError *error) {
}]



}

最佳答案

您需要查看为异步测试提供支持的 XCTest 期望。这是一个简化的示例(在 Swift 中,但同样适用于 Objective-C)

func testAsync() {

let expectation = expectationWithDescription("Waiting for something")

let someObject = ...
someObject.doSomethingWithCompletion({ () in
expectation.fulfill()
})

waitForExpectationsWithTimeout(3.0, handler: nil)

// Verify Results
}

简单的解释是测试将在 waitFor... 等待。直到 fulfil()方法被调用。或者超时并抛出错误。

您还可以设置对通知和属性的期望。查看 XCTest 类文档以获取详细信息。

关于ios - 使用 XCTest 进行异步方法测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36732590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com