我在尝试测试跳回 MainActor 的异步任务中的一些代码时遇到了一些心理障碍。这几行综合了这个问题:
func testMain() async throws {
Task { @MainActor in
XCTFail("Failed")
}
}
为什么Xcode会报告测试成功?
您的代码不会等待任何东西,它只是继续运行,您可以
await
value
。
func testMain() async throws {
await Task { @MainActor in
XCTFail("Failed")
}.value
}