我在场景中有XCTestCase
在XCTestCase主体中,有一组测试用例。我只希望所有测试用例都在第一个测试用例成功完成后开始(在我的特殊用途中,第一个测试用例响应是用于其他测试用例的令牌)。
我不想将参数令牌添加到其他测试用例中。
所以基本上,测试文件如下所示
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
}
}有人建议简单的解决办法吗?
发布于 2018-09-07 06:57:05
正如注释中提到的那样,您应该将令牌检索移到setUp方法中,这将允许在每个测试之前检索令牌,并且使您的测试彼此独立。
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)
}https://stackoverflow.com/questions/52196716
复制相似问题