XCTest 错误和打印消息在 AppCode 中混淆

XCTest errors and print messages get mixed up in AppCode

我有一个较长的测试,其中包含以下表格的几个部分:

    let value = computationThatLogs()
    XCTAssertEqual(value.a, 77)

我观察到来自违规 XCTAsserts 的 file:line:error 消息经常混入下一节计算的调试消息中,甚至经常与调试消息在同一行!

这是为什么?我怎样才能防止这种情况发生? fflush(stderr); fflush(stdout)之前每一节好像都不够

如果相关的话,每个部分的计算实际上是异步的;测试(即主线程)等待他们使用 DispatchSemaphore 完成。

我在 AppCode 中观察到了这一点;无法用 XCode.

重现

AppCode 中存在与此相关的错误: