异步等待失败 swift API 请求
Posted
技术标签:
【中文标题】异步等待失败 swift API 请求【英文标题】:Asynchronous wait failed swift API Request 【发布时间】:2016-01-09 07:28:21 【问题描述】:我创建了一个单元测试用例来测试我处理 API 请求的功能。
下面我提到了XC测试用例代码
var expectation:XCTestExpectation?
func testRequestFunction ()
expectation = self.expectationWithDescription("asynchronous request")
let test = HVRequest.init(subdomain: "staging", token: "jijfio88fhu0387fh", type: .GET, command: "estm")
(success) -> Void in
test.request()
self.waitForExpectationsWithTimeout(30, handler: nil)
当我运行这个测试用例时,它给出了一个错误
异步等待失败:超过 30 秒的超时,未实现预期:“异步请求”。
它如何显示带有错误的响应 JSON 对象。
请帮我解决问题
【问题讨论】:
【参考方案1】:XCTestExpectation
正在等待。当你收到回复时,你必须fulfill
(意思是:用expectation
说我收到了回复,继续)。
let test = HVRequest.init(subdomain: "staging", token: "jijfio88fhu0387fh", type: .GET, command: "estm")
(success) -> Void in
expectation.fulfill() // add this line
test.request()
【讨论】:
@anthu 我已经添加了你推荐的。之后它说“超过 30 秒的超时,没有实现预期” @DimuthLasantha 您应该添加一个断点,并查看fulfill
行是否被调用。如果没有,你应该编码,例如:HVRequest
以上是关于异步等待失败 swift API 请求的主要内容,如果未能解决你的问题,请参考以下文章
在 swift 中使用 Alamofire 的 Json 请求失败