测试在 swift 中跳回 MainActor 的异步方法

问题描述 投票:0回答:1

我在尝试测试跳回 MainActor 的异步任务中的一些代码时遇到了一些心理障碍。这几行综合了这个问题:

func testMain() async throws {
    Task { @MainActor in
        XCTFail("Failed")
    }
}

为什么Xcode会报告测试成功?

swift xcode xctest mainactor
1个回答
0
投票

您的代码不会等待任何东西,它只是继续运行,您可以

await
value

func testMain() async throws {
    await Task { @MainActor in
        XCTFail("Failed")
    }.value
}
© www.soinside.com 2019 - 2024. All rights reserved.