gpt4 book ai didi

ios - 如何测试在主线程上异步运行的方法?

转载 作者:行者123 更新时间:2023-12-01 22:20:02 25 4
gpt4 key购买 nike

我只是有一个方法:

func update(with process: PresentableProcess) {
presentableProcess = process
if isViewLoaded {
DispatchQueue.main.async { [weak self] in
//do something on the main thread
}
}
}

及其测试:
func testPreferredContentSizeWhenTitleExist() {
let process = PresentableProcess(title: "title")
sut.update(with: process)

XCTAssertEqualWithAccuracy(sut.preferredContentSize, 95, accuracy: 10)
}

它不起作用,因为它在主线程上运行。我想避免在 update(with)中添加完成块以通过测试。

最佳答案

恐怕您将需要使用完成块。要测试异步功能,请使用期望值

let expectation = expectation(description: "expectation")

doStuffWithCompletion() {
expectation.fulfill()
}

waitForExpectations(timeout: 10) { error in
//
}

关于ios - 如何测试在主线程上异步运行的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45368566/

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