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.
重现
我有一个较长的测试,其中包含以下表格的几个部分:
let value = computationThatLogs()
XCTAssertEqual(value.a, 77)
我观察到来自违规 XCTAsserts 的 file:line:error
消息经常混入下一节计算的调试消息中,甚至经常与调试消息在同一行!
这是为什么?我怎样才能防止这种情况发生? fflush(stderr); fflush(stdout)
之前每一节好像都不够
如果相关的话,每个部分的计算实际上是异步的;测试(即主线程)等待他们使用 DispatchSemaphore
完成。
我在 AppCode 中观察到了这一点;无法用 XCode.
重现