我最近更新到Xcode 7 beta 5。我尝试在早期的项目中添加一个单元测试,但是我在@可测试的导入myModuleName行上得到了错误消息“没有这样的模块[myModuleName]”。
我试着
使用“选项清理生成文件夹”清理项目 检查“启用可测试性”(调试)在构建选项中设置为“是” 删除测试目标,然后重新添加iOS单元测试包
这些都不适用于这个项目(但是我已经在另一个项目中进行了测试)。有人遇到过这个问题并解决了吗?
我最近更新到Xcode 7 beta 5。我尝试在早期的项目中添加一个单元测试,但是我在@可测试的导入myModuleName行上得到了错误消息“没有这样的模块[myModuleName]”。
我试着
使用“选项清理生成文件夹”清理项目 检查“启用可测试性”(调试)在构建选项中设置为“是” 删除测试目标,然后重新添加iOS单元测试包
这些都不适用于这个项目(但是我已经在另一个项目中进行了测试)。有人遇到过这个问题并解决了吗?
当前回答
我的解决方案在这里。
首先单击OdeAlSwiftUITest.swift,然后在目标成员中检查项目TargetName。
其他回答
在这个问题上花了几天时间后,我终于开始着手我的项目。问题出现在桥接标头-如果您在主目标中使用桥接标头,则测试目标中的路径不能为空
希望能为别人节省点时间。
我认为这可能是因为我删除了示例测试。
我删除了单元测试包,然后重新添加它,如下图所示,一切正常。
就我而言,我有三个问题。 首先,我必须指定导入路径:
Target -> Build Settings -> Swift Compiler - Search Paths -> Import Paths
第二个是我正在使用Pods,我必须将这些Pods导入到我的测试中,使用:
target 'MyAppTests' do
inherit! :complete
end
第三个是因为我在我的目标中使用了一个桥接头,因此我必须指定桥接头与测试相同。
尝试了所有的解决方案。毫无效果。Xcode构建命令行在swift包模块未发现错误时失败。
错误:没有阿波罗模块 进口阿波罗
删除测试目标并重新添加它们对我来说是有效的。
因此,在尝试了之前建议的所有解决方案后,这就是我如何让我的代码工作的。
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
一切都很顺利。希望这能有所帮助。