如何解决watchOS单元测试中卡在‘Testing..’的问题?
解决watchOS单元测试启动时模拟器消失、测试卡住的问题
排查与修复步骤
- 核对测试目标的模拟器配置
打开Xcode的Edit Scheme,进入测试目标的Run选项卡,确认Destination选择了配对好iPhone模拟器的watchOS模拟器(watchOS模拟器无法单独运行,必须依赖配对的iPhone模拟器)。单独启动的watchOS模拟器会在测试启动时被强制替换,导致直接消失。 - 重置模拟器缓存
打开模拟器菜单Hardware > Erase All Content and Settings,分别重置watchOS模拟器和配对的iPhone模拟器,清除可能存在的状态缓存问题。 - 清理项目构建文件
执行Cmd+Shift+K清理项目,再用Cmd+Option+Shift+K清理构建文件夹,之后重新构建测试目标。 - 检查测试目标依赖配置
确认单元测试目标的Build Phases中,Target Dependencies已正确关联watchOS主应用目标,Link Binary With Libraries包含WatchKit、XCTest等必要框架。 - 排查测试代码阻塞问题
检查所有测试用例,确认没有无限循环、异步测试未正确使用XCTestExpectation的情况——这类代码问题会直接导致测试卡在Testing...状态。 - 重启相关服务
完全退出Xcode和所有模拟器后重启Xcode;若问题仍存在,执行命令killall -9 com.apple.CoreSimulator.CoreSimulatorService重启模拟器服务,再重新启动模拟器。
内容的提问来源于stack exchange,提问作者Narsail
相关产品推荐
相关产品推荐

