Xcode 11使用xcodebuild执行单元测试随机失败求助
解决Xcode 11终端执行单元测试时好时坏的问题
我之前在Xcode 11里跑终端单元测试时也碰到过这种时灵时不灵的情况,结合踩过的坑,给你几个可以尝试的解决方向:
1. 清理模拟器残留进程与状态
这个错误大概率和模拟器启动异常有关,先彻底清理模拟器相关进程:
killall -9 Simulator com.apple.CoreSimulator.CoreSimulatorService
执行完后,手动打开模拟器确认能正常启动,再重新运行你的测试命令。如果还是不行,可以尝试重置模拟器内容(模拟器菜单 -> Device -> Erase All Content and Settings)。
2. 清理DerivedData缓存
你的命令里指定了-derivedDataPath "BuildBinaryForTest",这个目录的残留缓存可能导致冲突。建议在执行xcodebuild前先删除该目录:
rm -rf BuildBinaryForTest
然后再执行完整的测试命令,让Xcode重新生成干净的构建文件。
3. 简化命令排查日志
有时候xcpretty会截断关键日志信息,先去掉管道部分,直接运行原始命令看详细输出:
xcodebuild \ -workspace MyApp.xcworkspace \ -scheme MyScheme \ -configuration Debug \ -sdk iphonesimulator \ -derivedDataPath "BuildBinaryForTest" \ -destination platform=iOS\ Simulator,name=iPhone\ 11 \ clean test
观察完整日志里有没有更具体的错误提示,比如测试目标的依赖加载失败、权限问题等。
4. 更换或重新创建模拟器
偶尔模拟器本身会出现损坏,你可以尝试:
- 在Xcode的Devices and Simulators里,删除当前的iPhone 11模拟器,重新创建一个同名的
- 或者在命令里指定其他可用的模拟器,比如
-destination platform=iOS\ Simulator,name=iPhone\ 11\ Pro
错误信息参考
你遇到的错误:
UnitTest: MyApp.app (19571) encountered an error (Early unexpected exit, operation never finished bootstrapping - no restart will be attempted. (Underlying error: Test runner exited before starting test execution.))
内容的提问来源于stack exchange,提问作者iKushal
相关产品推荐
相关产品推荐

