XCTest 测试运行器在完成运行测试之前以代码 -1 退出

Posted

技术标签:

【中文标题】XCTest 测试运行器在完成运行测试之前以代码 -1 退出【英文标题】:XCTest The test runner exited with code -1 before finishing running tests 【发布时间】:2021-05-27 16:45:51 【问题描述】:

我们正在运行 Xcode 12.4,并在运行 XCUITest 测试时随机看到以下错误:

The test runner exited with code -1 before finishing running tests

我们可以重新运行失败的测试,它们会通过。有谁知道这个错误的原因或如何解决它?直到我们从 11.3 升级到 12.4 才看到它,但不确定它是否是 12.4 特有的。

【问题讨论】:

你能推断出它在哪里做这个吗?是在同一个地方做还是反复测试?是完全随机的吗?这会发生在多台机器上吗?在 CI 中? 发生在我们的几台机器上,到目前为止,据我所知,它在哪些测试上失败是完全随机的,这就是为什么我很难确定原因。当它发生时,它没有给我比错误消息更多的信息:( 我没有看到这个,谷歌也没有。您能否分享更多关于您如何启动应用程序的信息(可能是代码?)?任何特殊参数、启动状态等?您的目标是哪个操作系统?电话?垫? 【参考方案1】:

我希望在设备上看到测试运行程序崩溃日志 - 检查 Xcode 菜单 Window > Devices [pick the device] > Device Logs。

这通常是由于强制解包 nil 值之类的错误造成的,但它也可能使用所有内存等 - 任何会使正常程序崩溃的东西也可能导致您的测试崩溃。

【讨论】:

以上是关于XCTest 测试运行器在完成运行测试之前以代码 -1 退出的主要内容,如果未能解决你的问题,请参考以下文章

ReferenceError:元素未定义。当我尝试运行 ios 测试时遇到此问题,以 jest 作为测试运行器反应本机

如何在 xUnit 测试项目(.NET Core)中完成集成测试后关闭 Resharper 测试运行器?

从 coverage.py 运行测试与从测试运行器运行覆盖

是否可以在运行时使用测试运行器将测试用例注入soapui?

在 Visual Studio Code 编辑器中完全禁用 Jest 测试运行器的自动运行

Karma 测试运行器 - 无法捕获 chrome