我最近更新到Xcode 7 beta 5。我尝试在早期的项目中添加一个单元测试,但是我在@可测试的导入myModuleName行上得到了错误消息“没有这样的模块[myModuleName]”。
我试着
使用“选项清理生成文件夹”清理项目 检查“启用可测试性”(调试)在构建选项中设置为“是” 删除测试目标,然后重新添加iOS单元测试包
这些都不适用于这个项目(但是我已经在另一个项目中进行了测试)。有人遇到过这个问题并解决了吗?
我最近更新到Xcode 7 beta 5。我尝试在早期的项目中添加一个单元测试,但是我在@可测试的导入myModuleName行上得到了错误消息“没有这样的模块[myModuleName]”。
我试着
使用“选项清理生成文件夹”清理项目 检查“启用可测试性”(调试)在构建选项中设置为“是” 删除测试目标,然后重新添加iOS单元测试包
这些都不适用于这个项目(但是我已经在另一个项目中进行了测试)。有人遇到过这个问题并解决了吗?
当前回答
当我将部署目标从9.3更改为11.0时,这为我修复了。
一般>部署目标>“11.0”
其他回答
在项目导航器中单击MyAppTests.swift,然后单击右侧面板,在目标会员中检查模块。它在我的工作。
CocoaPods推荐添加inherit!:search_paths到你的测试目标,就像这样:
target 'App' do
target 'AppTests' do
inherit! :search_paths
end
end
来源:https://github.com/CocoaPods/CocoaPods/pull/8423问题——244992565
确保在测试方案的构建设置下,测试目标在列表中。
在播放按钮旁边,选择测试方案,然后编辑方案…,转到Build部分,单击+ +并选择您想要测试的目标。
在我的例子中,我们有一个我们开发的内部目标(一些微小的差异),在合并之后,它被从测试配置中删除了。
这个答案对我很管用
答案是我的项目中出现了一些错误,导致构建失败。(这只是代码中标准的日常错误。)在我修复了错误并进行了另一次清理和构建后,它工作了。
请注意,这些错误一开始并没有出现。为了让他们出现:
注释掉给出“No such module”错误的整个Test文件。 试着重新运行你的项目。
如果还有其他错误,现在就应该显示出来。修复它们,然后取消测试文件代码的注释。对我来说,“没有这样的模块”错误已经消失了。
如果这不能解决其他人的问题,你也可以尝试以下方法:
清理构建文件夹
打开“产品”菜单,按住“选项”,然后单击“清洁构建文件夹…”
确保启用可测试性设置为Yes
在项目导航器中单击项目名称。选择生成设置并向下滚动到生成选项。确保“启用可测试性”为“是”(用于调试)。
删除并重新添加测试目标
如果你已经做了其他的事情,我猜你可能不需要做这个。但是如果你这样做了,记得保存你已经写好的单元测试。
在project Navigator中单击项目名称。然后选择测试目标。点击底部的减号(-)按钮删除。
然后点击加号(+)按钮,选择iOS单元测试包再次添加它。正如您所看到的,您还可以以相同的方式添加一个UI Testing Bundle。
还有其他一些想法
确保所有必需的类都是测试目标的成员。 确保您已经添加了所有必需的库。 确保模块名称写得正确(参见这个答案)。
还是……
如果你发现了其他有用的方法,请在下方留言或回答。
相关的
如何在Xcode中进行单元测试 Xcode UI测试示例
一个需要注意的问题是,如果你的模块名中有一个破折号,那么你就必须用下划线来代替_。出于某种原因,我怀疑这可能是一个问题,这确实是我的问题。
如。@可测试import Ocean-Swift变成@可测试import Ocean_Swift
还有一件事,如果您确实使用@可测试语法,请确保在测试目标中不包含您的生产代码。我发现这会引起莫名的奇怪。