我最近更新到Xcode 7 beta 5。我尝试在早期的项目中添加一个单元测试,但是我在@可测试的导入myModuleName行上得到了错误消息“没有这样的模块[myModuleName]”。
我试着
使用“选项清理生成文件夹”清理项目 检查“启用可测试性”(调试)在构建选项中设置为“是” 删除测试目标,然后重新添加iOS单元测试包
这些都不适用于这个项目(但是我已经在另一个项目中进行了测试)。有人遇到过这个问题并解决了吗?
我最近更新到Xcode 7 beta 5。我尝试在早期的项目中添加一个单元测试,但是我在@可测试的导入myModuleName行上得到了错误消息“没有这样的模块[myModuleName]”。
我试着
使用“选项清理生成文件夹”清理项目 检查“启用可测试性”(调试)在构建选项中设置为“是” 删除测试目标,然后重新添加iOS单元测试包
这些都不适用于这个项目(但是我已经在另一个项目中进行了测试)。有人遇到过这个问题并解决了吗?
当前回答
如果你的项目中有一些目标- 检查你的目标模块名称,你试图导入@可测试导入"TARGETSModuleName"。
模块名应该在: 目标->构建设置->产品模块名称
例如:
其他回答
就我而言,我有三个问题。 首先,我必须指定导入路径:
Target -> Build Settings -> Swift Compiler - Search Paths -> Import Paths
第二个是我正在使用Pods,我必须将这些Pods导入到我的测试中,使用:
target 'MyAppTests' do
inherit! :complete
end
第三个是因为我在我的目标中使用了一个桥接头,因此我必须指定桥接头与测试相同。
我试了这里所有的答案,但红旗还是没有消失。但是我通过“运行”一个空测试让它工作了,并且它被清除了。
我想确保完成的事情:
主机应用程序 @可测试导入“Module_name”(确保模块名称正确) 确保测试的部署目标与项目相同 XCTest不需要Target成员资格
在项目导航器中单击MyAppTests.swift,然后单击右侧面板,在目标会员中检查模块。它在我的工作。
对我来说,问题是测试的iOS部署目标没有设置为与主目标相同。所以一定要检查这个。
在您的测试目标中:
Build Settings -> iOS Deployment Target -> iOS<same as the target you are testing>
除了列出的其他事情之外,我还必须将我试图测试的类的文件添加到单元测试模块的编译源中