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

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

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

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

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

ios xctest xcode12 xcuitest
3个回答
0
投票

我希望在设备上看到测试运行器崩溃日志 - 检查 Xcode 菜单窗口 > 设备 [选择设备] > 设备日志。

通常这是由于诸如强制展开 nil 值之类的错误,但它也可能使用了所有内存等 - 任何会使正常程序崩溃的东西也会使您的测试崩溃。


0
投票

我今天经历过这个。

就我而言,我重写了一个异步

setUp
函数,这个函数:

  override func setUp() async throws {
    try await super.setUp()

解决方案显然是在正常功能中完成设置:

  override func setUp() {
    super.setUp()

此外,避免在设置中调用断言。在您的自定义测试功能中完成它。


0
投票

我发现测试方法中有一个 Task { } 导致了这个问题! , 在测试函数声明中使用 async 代替

func testSomething async {
  await somethingElse()
}
© www.soinside.com 2019 - 2024. All rights reserved.