gpt4 book ai didi

ios - XCTestCase 异步

转载 作者:行者123 更新时间:2023-11-28 23:49:27 26 4
gpt4 key购买 nike

我在场景中有 XCTestCase

在XCTestCase 主体中,有一组测试用例。我只希望所有测试用例在第一个测试用例成功完成后开始的问题(在我的特殊目的中,第一个测试用例响应一个 token 供其他测试用例使用)。

我不想给其他测试用例添加参数token

基本上,测试文件看起来像这样

class MyTestCase: XCTestCase {

var token: String!

override func setUp() {
super.setUp()
self.continueAfterFailure = false
}

func testGetToken() {
asyncGetToken { token in
self.token = token
// From now, the test1 and test2 should be started.
}
}
func test1() {
//using token to make request etc
}

func test2() {
//using token to make request etc
}
}

有人建议简单的解决方案吗?

最佳答案

如评论中所述,您应该将 token 检索移动到 setUp 方法中,这将允许在每次测试之前检索 token ,并使您的测试彼此独立。

override func setUp() {
super.setUp()
self.continueAfterFailure = false

let tokenExpectation = expectation(description: "get token")
asyncGetToken { token in
self.token = token
tokenExpectation.fulfill()
}
let result = XCTWaiter().wait(for: [tokenExpectation], timeout: 5)
XCTAssertEqual(result, .completed)
}

关于ios - XCTestCase 异步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52196716/

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