我最近更新到Xcode 7 beta 5。我尝试在早期的项目中添加一个单元测试,但是我在@可测试的导入myModuleName行上得到了错误消息“没有这样的模块[myModuleName]”。

我试着

使用“选项清理生成文件夹”清理项目 检查“启用可测试性”(调试)在构建选项中设置为“是” 删除测试目标,然后重新添加iOS单元测试包

这些都不适用于这个项目(但是我已经在另一个项目中进行了测试)。有人遇到过这个问题并解决了吗?


当前回答

我试了这里所有的答案,但红旗还是没有消失。但是我通过“运行”一个空测试让它工作了,并且它被清除了。

我想确保完成的事情:

主机应用程序 @可测试导入“Module_name”(确保模块名称正确) 确保测试的部署目标与项目相同 XCTest不需要Target成员资格

其他回答

当我将部署目标从9.3更改为11.0时,这为我修复了。

一般>部署目标>“11.0”

我也有同样的问题。清理构建文件夹和重新启动Xcode都不起作用。

对我来说有用的是确保测试目标和方案的“仅构建活动架构”的设置与应用程序的目标和方案的设置相匹配。

这个答案对我很管用

答案是我的项目中出现了一些错误,导致构建失败。(这只是代码中标准的日常错误。)在我修复了错误并进行了另一次清理和构建后,它工作了。

请注意,这些错误一开始并没有出现。为了让他们出现:

注释掉给出“No such module”错误的整个Test文件。 试着重新运行你的项目。

如果还有其他错误,现在就应该显示出来。修复它们,然后取消测试文件代码的注释。对我来说,“没有这样的模块”错误已经消失了。


如果这不能解决其他人的问题,你也可以尝试以下方法:

清理构建文件夹

打开“产品”菜单,按住“选项”,然后单击“清洁构建文件夹…”

确保启用可测试性设置为Yes

在项目导航器中单击项目名称。选择生成设置并向下滚动到生成选项。确保“启用可测试性”为“是”(用于调试)。

删除并重新添加测试目标

如果你已经做了其他的事情,我猜你可能不需要做这个。但是如果你这样做了,记得保存你已经写好的单元测试。

在project Navigator中单击项目名称。然后选择测试目标。点击底部的减号(-)按钮删除。

然后点击加号(+)按钮,选择iOS单元测试包再次添加它。正如您所看到的,您还可以以相同的方式添加一个UI Testing Bundle。

还有其他一些想法

确保所有必需的类都是测试目标的成员。 确保您已经添加了所有必需的库。 确保模块名称写得正确(参见这个答案)。

还是……

如果你发现了其他有用的方法,请在下方留言或回答。

相关的

如何在Xcode中进行单元测试 Xcode UI测试示例

在项目导航器中单击MyAppTests.swift,然后单击右侧面板,在目标会员中检查模块。它在我的工作。

这里还有一件没有列出的事情需要检查。对我来说,这与我的团队有关,也许是因为我们团队的经纪人还没有同意最新的许可协议!一旦我在目标的一般设置中选择了一个不同的团队,然后我指定了一个特定的部署目标,比如12.1或11.0,突然“没有这样的模块”警告消失了。