我们正在运行 Xcode 12.4,并在运行我们的 XCUITest 测试时随机看到以下错误:
The test runner exited with code -1 before finishing running tests
我们可以重新运行失败的测试,它们将通过。有谁知道此错误的原因或如何解决?直到我们从 11.3 升级到 12.4 才看到它,但不确定它是否特定于 12.4。
我希望在设备上看到测试运行器崩溃日志 - 检查 Xcode 菜单窗口 > 设备 [选择设备] > 设备日志。
通常这是由于诸如强制展开 nil 值之类的错误,但它也可能使用了所有内存等 - 任何会使正常程序崩溃的东西也会使您的测试崩溃。
我今天经历过这个。
就我而言,我重写了一个异步
setUp
函数,这个函数:
override func setUp() async throws {
try await super.setUp()
解决方案显然是在正常功能中完成设置:
override func setUp() {
super.setUp()
此外,避免在设置中调用断言。在您的自定义测试功能中完成它。
我发现测试方法中有一个 Task { } 导致了这个问题! , 在测试函数声明中使用 async 代替
func testSomething async {
await somethingElse()
}