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

我试着

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

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


当前回答

因此,在尝试了之前建议的所有解决方案后,这就是我如何让我的代码工作的。

I set 'Enable testability' to 'YES' in project's Build Settings I also set 'Defines Module' to 'YES' in my project's Build Settings. For the regular .swift file(s) within my project, say MyApp, I was going to write test cases for, I have both the main "MyApp" and the "MyAppUnitTests" Targets checked under Target Membership. I then selected my unit test file(s), declared the '@testable import MyApp' at the top, beneath the 'import XCTest', and only checked the "MyAppUnitTests" under Target membership

一切都很顺利。希望这能有所帮助。

其他回答

尝试了所有的解决方案。毫无效果。Xcode构建命令行在swift包模块未发现错误时失败。

错误:没有阿波罗模块 进口阿波罗

删除测试目标并重新添加它们对我来说是有效的。

就我而言,我有三个问题。 首先,我必须指定导入路径:

Target -> Build Settings -> Swift Compiler - Search Paths -> Import Paths

第二个是我正在使用Pods,我必须将这些Pods导入到我的测试中,使用:

target 'MyAppTests' do
    inherit! :complete
end

第三个是因为我在我的目标中使用了一个桥接头,因此我必须指定桥接头与测试相同。

我的解决方案在这里。

首先单击OdeAlSwiftUITest.swift,然后在目标成员中检查项目TargetName。

这个答案对我很管用

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

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

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

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


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

清理构建文件夹

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

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

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

删除并重新添加测试目标

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

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

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

还有其他一些想法

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

还是……

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

相关的

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

在这个问题上花了几天时间后,我终于开始着手我的项目。问题出现在桥接标头-如果您在主目标中使用桥接标头,则测试目标中的路径不能为空

希望能为别人节省点时间。