无法为“XCTest”加载底层模块

Posted

技术标签:

【中文标题】无法为“XCTest”加载底层模块【英文标题】:Cannot load underlying module for 'XCTest' 【发布时间】:2017-07-16 14:58:52 【问题描述】:

每次我开始运行我的应用程序,或者我刚刚启动 Xcode 时,我都会收到此错误:

我认为问题在于我不知道我的 .xctest 文件在哪里。我想我可能会删除它们。

如果有人能帮助我,那就太好了!也许告诉我如何恢复这些文件,制作一些新文件或其他东西。

【问题讨论】:

【参考方案1】:

您不小心将一个 Xcode 单元测试文件添加到您的主应用程序目标中。

删除它:

    选择测试文件 打开右侧面板 选择身份和类型选项卡 取消选择您的应用目标(不是单元测试乐高图标)

提示: 下次您添加新的单元测试时,只需将其添加到您的单元测试目标中。如果您不小心包含了任何应用程序目标,它们将无法使用 XCTest 框架。

【讨论】:

【参考方案2】:

另请参阅 Apple 技术问答 QA1954“无法为 XCTest 加载底层模块”,其中涵盖了该问题的多个变体

https://developer.apple.com/library/archive/qa/qa1954/_index.html

【讨论】:

【参考方案3】:

主项目不与 XCUnit 框架链接。您应该为您的项目创建一个单独的测试目标(如果尚不存在),并将您的测试源文件添加到该目标。

在项目导航器中选择您的项目。这将在编辑器中打开项目的设置。 单击列出目标的列底部的“+”按钮。 如果您正在处理 ios 项目模板,请选择 iOS > 测试 > iOS 单元测试包。

如果您正在使用 OS X 项目模板,请选择 OS X > 测试 > OS X 单元测试包。

【讨论】:

以上是关于无法为“XCTest”加载底层模块的主要内容,如果未能解决你的问题,请参考以下文章

无法加载底层模块 bmspush

无法在非 XCode Swift 项目中执行“快速测试”

使用C语言为python编写动态模块--从底层深度解析python中的对象以及变量

无法将反应模块加载为节点模块

现有项目的 XCTest

无法将模块“Snapkit”加载为“Snapkit”