xCode 8 / Swift 3中的iOS异步单元测试(waitForExpectations失败
发布时间:2020-12-14 17:19:23 所属栏目:百科 来源:网络整理
导读:我正在更新我开发的使用 Swift 3的Cocoapod.在升级之前,我的所有异步单元测试都运行得非常好.但现在升级后,每一个都会立即失败,我不知道为什么.以下是每个结构的结构: override func setUp() { super.setUp() validationExpectation = expectation(descript
我正在更新我开发的使用
Swift 3的Cocoapod.在升级之前,我的所有异步单元测试都运行得非常好.但现在升级后,每一个都会立即失败,我不知道为什么.以下是每个结构的结构:
override func setUp() { super.setUp() validationExpectation = expectation(description: "Validation") } . . . func testSymbolRequest(){ _ = MyCocoapod.makeSymbolRequest(symbol: "ABC",success: { (symbolObject) in self.validationExpectation.fulfill() XCTAssert(true) }) { (error) in self.validationExpectation.fulfill() XCTFail(error.description) } waitForRequestToFinish() } . . . func waitForRequestToFinish(){ waitForExpectations(timeout: 60.0) { (error) in if let error = error { XCTFail(error.localizedDescription) } } } waitForExpectations函数根本没有等待.被叫后立即失败.我还确认这与我的实际网络代码无关,并且请求在我的Cocoapod示例项目中完美运行.我正在使用Alamofire.我不认为这是问题,但我认为值得一提.打印出的错误消息是“未知错误”. 解决方法
如果您正在尝试测试正在开发的CocoaPod,由于某种原因,它创建的默认测试目标会使waitForExpectations()函数无法正常运行该特定测试目标.通过按顺序执行这些步骤,我能够最终完成工作:
>删除当前的测试目标 按照这些步骤,我能够让waitForExpectations()最终在我的网络请求中工作. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |