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

我试着

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

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


当前回答

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

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

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

target 'MyAppTests' do
    inherit! :complete
end

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

其他回答

XCode 12开发Beta 3

这个错误在我第一次构建项目后自行修复了。

确保在测试方案的构建设置下,测试目标在列表中。

在播放按钮旁边,选择测试方案,然后编辑方案…,转到Build部分,单击+ +并选择您想要测试的目标。

在我的例子中,我们有一个我们开发的内部目标(一些微小的差异),在合并之后,它被从测试配置中删除了。

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

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

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

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

这是我在Xcode 13.1中使用的方法:

在Xcode Preferences > Locations的Locations选项卡中,我定义了一个自定义位置:

这不仅导致单元测试失败,出现可怕的“没有这样的模块”错误,而且还导致“命令CodeSign失败,退出码非零”和其他警告和错误。

将设置更改为唯一:

解决了所有问题。