Xcode - 单元测试:测试会话退出(-1)而不检入

时间:2015-07-17 11:46:22

标签: ios objective-c xcode unit-testing ios-simulator

我在XCode中进行单元测试时遇到了严重问题。 我在OS X Yosemite和OS X Capitan上使用XCode 6.4 Build版本6E35b。

结果我有这样一个错误:

_finishWithError:Error Domain=IDEUnitTestsOperationsObserverErrorDomain Code=3 "Test session exited(-1) without checking in." UserInfo=0x7fbfea2b60b0 {NSLocalizedDescription=Test session exited(-1) without checking in.} didCancel: 1

堆栈上已经有一些帖子(例如,Xcode Server CI Bot Test Session exited(-1)),但找不到解决方案。

我试图从XCode和命令行运行单元测试,但我经常遇到这个错误。在最后一种情况下,我做了3个步骤:

1. Deleting everything from DERIVED_DATA_PATH
2. Installing pods
3. Ran unit-tests with command: xcodebuild test -scheme UnitTests -destination 'platform=iOS Simulator,name=iPhone 5s,OS=8.2' -derivedDataPath 'temp-build-dir' 2>&1

对我来说这是一个很大的麻烦,因为我在使用UI测试的常见自动构建流程中使用这些测试,如果它们失败,整个流程都会失败。

在XCode 6的发行说明中,Apple提供了有关该bug的信息,他们的解决方法是简单地重新运行测试。这对我来说是不可接受的,因为它们会自动运行其他测试,并且在它们通过之前重新运行它们或者只是在没有该错误的情况下运行似乎是个坏主意。

1 个答案:

答案 0 :(得分:3)

可能的解决方案

在终端

中启动此命令
sudo /usr/sbin/DevToolsSecurity --enable

可能导致问题的原因

如果你没有在无头终端上启动测试,你会看到这个对话框:

Developer Tools Access needs to take control of another process for debugging to continue. Type your password to allow this.