You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xcode为何丢失创建单元测试选项?如何恢复并解决测试异常问题

解决Xcode无法创建带单元测试项目及手动添加后的运行问题

我来帮你搞定这个Xcode单元测试的麻烦,分两部分处理:先找回创建项目时的单元测试选项,再解决手动添加测试后的运行故障。

一、找回创建新项目时的「Include Unit Tests」选项

你提到正常界面有这个选项但现在消失了,试试这几个方案:

  • 清除Xcode派生数据:打开Xcode顶部菜单栏的Xcode > Settings > Locations,找到Derived Data,点击旁边的箭头打开文件夹,全选删除里面的内容,然后重启Xcode再创建项目试试。这是最常见的修复Xcode界面异常的方法。
  • 重置Xcode模板缓存:如果清除派生数据没用,打开终端执行下面的命令,清除模板缓存和Xcode缓存:
    rm -rf ~/Library/Developer/Xcode/Templates
    rm -rf ~/Library/Caches/com.apple.dt.Xcode
    
    执行完重启Xcode,再创建新项目应该就能看到选项了。
  • 检查Xcode版本与系统兼容性:如果你最近更新了Xcode或macOS,可能存在适配问题。试试重新下载安装对应版本的Xcode,或者确认你的系统版本满足当前Xcode的最低要求。

二、解决手动添加单元测试后的运行问题

手动加了测试但Cmd+U跑不起来,还要显式导入、出现链接错误或EXC_BAD_INSTRUCTION,基本是测试目标的配置没做好,按步骤排查:

  1. 配置测试目标的依赖:
    • 打开项目文件,左侧导航栏选中你的测试目标,切换到Build Phases标签。
    • 在Target Dependencies里添加你的主应用/框架目标,让测试目标能正确依赖主代码。
    • 在Link Binary With Libraries中添加主目标的产物(比如主应用的.app或者框架的.framework)。
  2. 调整Build Settings关键项:
    • 找到Product Module Name,确保和主目标的模块名完全一致(Swift项目尤其看重这个,模块名不对就找不到对象)。
    • 检查Test Host设置,应该指向主应用的路径,格式大概是$(BUILT_PRODUCTS_DIR)/你的主应用名.app/你的主应用名。
    • Swift项目要确保主目标的Enable Testability在Debug模式下设为YES(默认是开的,但如果之前改了要调回来)。
  3. 修复导入和运行异常:
    • 需要显式导入才能找到对象,说明测试目标没正确关联主模块。确认主目标的模块名没有特殊字符,测试目标的Import Paths包含主目标的头文件/模块路径。
    • 出现EXC_BAD_INSTRUCTION或链接错误,先检查主目标编译是否正常(Cmd+B),然后清理项目(Cmd+Shift+K)再重新构建,之后再运行测试(Cmd+U)。如果还是不行,检查主代码里有没有未实现的方法、循环引用或者内存问题。

内容的提问来源于stack exchange,提问作者Karl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:30:34