加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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()函数无法正常运行该特定测试目标.通过按顺序执行这些步骤,我能够最终完成工作:

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读