我最近更新到Xcode 7 beta 5。我尝试在早期的项目中添加一个单元测试,但是我在@可测试的导入myModuleName行上得到了错误消息“没有这样的模块[myModuleName]”。
我试着
使用“选项清理生成文件夹”清理项目 检查“启用可测试性”(调试)在构建选项中设置为“是” 删除测试目标,然后重新添加iOS单元测试包
这些都不适用于这个项目(但是我已经在另一个项目中进行了测试)。有人遇到过这个问题并解决了吗?
我最近更新到Xcode 7 beta 5。我尝试在早期的项目中添加一个单元测试,但是我在@可测试的导入myModuleName行上得到了错误消息“没有这样的模块[myModuleName]”。
我试着
使用“选项清理生成文件夹”清理项目 检查“启用可测试性”(调试)在构建选项中设置为“是” 删除测试目标,然后重新添加iOS单元测试包
这些都不适用于这个项目(但是我已经在另一个项目中进行了测试)。有人遇到过这个问题并解决了吗?
当前回答
在构建设置测试目标中,检查主机测试,它接受PRODUCT_NAME中设置的名称。 您应该在测试类中使用这个名称。
我建议不要更改PRODUCT_NAME(匹配主目标的名称)
其他回答
我遵循了上面的步骤,这是有效的。然而,我的项目有更多的问题。我得到了这个警告,我不能从我的主项目中访问类来测试我的测试目标。
我发现您的测试目标产品模块名称(YourTestTarget ->构建设置->搜索产品模块)不能与您的项目名称相同。
一旦我改变了我的测试目标的产品模块名称,一切都工作了。
环境:Xcode Version 9.0 (9A235) 场景:测试一个开源框架。 我也遇到了同样的问题:“没有这样的模块”。 解决方案: 选择Test目标。 选择构建阶段 添加要be的框架 通过链接二进制测试… 下面是测试文件:
确保在测试方案的构建设置下,测试目标在列表中。
在播放按钮旁边,选择测试方案,然后编辑方案…,转到Build部分,单击+ +并选择您想要测试的目标。
在我的例子中,我们有一个我们开发的内部目标(一些微小的差异),在合并之后,它被从测试配置中删除了。
我的问题是,我想测试的类应该是在一个单独的模块(API客户端),但类实际上是应用程序目标的成员,而不是框架目标。改变类的目标成员使导入错误消失!
CocoaPods推荐添加inherit!:search_paths到你的测试目标,就像这样:
target 'App' do
target 'AppTests' do
inherit! :search_paths
end
end
来源:https://github.com/CocoaPods/CocoaPods/pull/8423问题——244992565