iOS Swift 5 环境下 Xcode 13 单元测试无法运行报错问题
Xcode 13 Swift 5 单元测试启动报错解决方案
以下是针对Test runner启动后从未开始执行测试报错的可执行排查步骤:
- 彻底清空Xcode缓存
关闭Xcode后,在终端执行命令:rm -rf ~/Library/Developer/Xcode/DerivedData
命令执行完成后重新打开项目尝试运行测试。 - 校验测试Target的Build Settings配置
打开项目配置页,选中你的单元测试Target,进入Build Settings标签页:- 搜索
Test Host,确认取值指向项目主App Target,路径格式为$(BUILT_PRODUCTS_DIR)/主App名称.app/主App名称 - 搜索
Bundle Loader,确认取值和Test Host的配置完全一致 - 搜索
Always Embed Swift Standard Libraries,确认测试Target的该项配置和主App Target的配置保持一致
- 搜索
- 检查测试用例类的配置
- 确认测试类继承自
XCTestCase,所有测试方法的命名均以test开头,无入参无返回值 - 选中测试类文件,打开右侧文件检查器,确认Target Membership仅勾选了单元测试Target,没有勾选主App Target
- 确认测试类继承自
- 校验Scheme的测试配置
点击Xcode顶部的Scheme选择框,选择Edit Scheme:- 选中左侧的Test栏,确认测试列表中已经添加了你的单元测试Target,所有需要执行的测试用例前的勾选框都处于选中状态
- 确认
Build Configuration选择的配置和你当前运行的环境一致(报错对应Staging环境,此处需选中Staging)
- 修复CocoaPods依赖配置
如果你的项目使用CocoaPods管理依赖,在终端执行命令:pod deintegrate && pod install
重新生成Pod配置后再尝试运行测试。
内容的提问来源于stack exchange,提问作者Aqib Javed
相关产品推荐
相关产品推荐

