我在Xcode的macOS app项目中添加了一个全新的单元测试目标。它包含默认的两个文件:
然而,当我运行我的测试套件时,这个全新的目标会出现错误"测试操作失败:在登记之前启动会话已过期。"
完整的日志是:
12:12:49.492 Xcode[10034:721978] Beginning test session MyTargetTests-3902F95F-20F9-4E6C-94EE-0BF8660D3B5A at 2017-06-18 12:12:49.492 with Xcode 8E3004b on target <DVTLocalComputer: 0x7fcc3cf024d0 (My Mac | x86_64)> (10.12.4 (16E195))
12:12:49.492 Xcode[10034:721978] Launching with Xcode.DebuggerFoundation.Launcher.LLDB
12:12:49.492 Xcode[10034:894962] Waiting for connection to unix domain socket at /tmp/XCTest-QcErkZ.
12:12:59.747 Xcode[10034:721978] Launch session started.
12:12:59.832 Xcode[10034:721978] Adding console adaptor <IDEConsoleAdaptor: 0x7fcc2cd44d00 'target'> for test session 3902F95F-20F9-4E6C-94EE-0BF8660D3B5A.
12:12:59.914 Xcode[10034:721978] Test process runnable PID is 19198.
12:13:02.025 Xcode[10034:721978] Test operation failure: Launch session expired before checking in.
12:13:02.025 Xcode[10034:721978] _finishWithError:Error Domain=IDETestOperationsObserverErrorDomain Code=5 "Launch session expired before checking in." UserInfo={NSLocalizedDescription=Launch session expired before checking in.} didCancel: 1
我的设置是:
我试过了:
sudo /usr/sbin/DevToolsSecurity --enable
- 没有好的所以... 如何让单元测试目标工作?
答案 0 :(得分:14)
错误消息&#34;启动会话在签入之前已过期&#34;有点红鲱鱼。您需要公开真实的基础错误消息,您可以通过View访问 - &gt;调试区域 - &gt;显示调试区域(如果尚未显示)。
在我的情况下,问题是libswiftswiftononesupport.dylib没有在我的macOS应用程序中链接到我自己的某些库(未找到dyld图像)。解决方案有点奇怪,费力,但确实有效:
答案 1 :(得分:0)
当我想用env
实现自动屏幕截图时,我最近遇到了这个失败。在我的情况下发生错误是因为新创建的UITest目标设置了iOS 11.X的部署目标,因此没有为iPhone 4s构建32位版本。 (Apps部署目标是9.3)。