iOS   发布时间:2022-05-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了xCode 8 / Swift 3中的iOS异步单元测试(waitForExpectations失败)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我正在更新我开发的使用 Swift 3的Cocoapod.在升级之前,我的所有异步单元测试都运行得非常好.但现在升级后,每一个都会立即失败,我不知道为什么.以下是每个结构的结构: override func setUp() { super.setUp() validationExpectation = expectation(description: "Valida
我正在更新我开发的使用 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()函数无法正常运行该特定测试目标.通过按顺序执行这些步骤,我能够最终完成工作:

>删除当前的测试目标
>创建一个新的测试目标
>运行pod安装并确保pod文件相应更新

按照这些步骤,我能够让waitForExpectations()最终在我的网络请求中工作.

大佬总结

以上是大佬教程为你收集整理的xCode 8 / Swift 3中的iOS异步单元测试(waitForExpectations失败)全部内容,希望文章能够帮你解决xCode 8 / Swift 3中的iOS异步单元测试(waitForExpectations失败)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。