xcodebuild 可以打印失败的 XCTest 的哪个断言/期望完全失败吗?

Can xcodebuild print which assertion/expectation exactly failed of a failing XCTest?

提问人:Mecki 提问时间:10/26/2023 更新时间:10/26/2023 访问量:10

问:

当从命令行运行 Xcode 单元测试时,它只会在测试成功或失败时打印,例如xcodebuild

测试用例“<...名字。。。I>“传递了”我的 Mac - xctest (75744)“(0.005 秒)
测试用例”<...名字。。。>“我的 Mac - xctest (75744)”失败(1.714 秒)

但它不会告诉我究竟哪个测试断言或期望失败了。

在 Xcode 中运行测试时,Xcode 将停止测试并跳转到调试器,因此我可以准确地看到失败的断言或期望。这是关键信息,因为测试可能有十几种不同的断言和期望,并且根据哪一个失败,存在完全不同的问题。

有没有办法打印断言文本或至少打印失败的行号?xcodebuild

Xcode 单元测试 Xctest XcodeBuild

评论

0赞 Jon Reid 11/5/2023
请举例说明您可以做的最简单的失败测试。您是否使用 XCTest 断言?还是来自抛出的错误?
0赞 Mecki 11/6/2023
@JonReid 不会比这更简单了。或者,在 Xcode 中运行后一个时,我进入了调试器控制台。当我运行它并选择与 UI 中相同的工作区、方案和构建配置时,我只会得到 ;这就是它在 stdout 或 stderr 上输出的全部内容。XCTAssert(false);int i = 10; XCTAssertEqual(i, 20);SimpleTests.m:20: error: -[SimpleTests justFail] : ((i) equal to (20)) failed: ("10") is not equal to ("20")xcodebuild testTest case '-[SimpleTests justFail]' failed on 'My Mac - xctest (32958)' (0.001 seconds)
0赞 Jon Reid 11/6/2023
有趣。你是对的,我在 的输出中没有看到行号,甚至没有看到“嘿”。XCTFail("hey")xcodebuild test

答: 暂无答案