无法将主swift类导入测试目标?

dcg*_*oss 17 import xcode ios xctest swift

我正在尝试在我的iOS应用程序中测试这些类.我试图通过添加到我的测试文件的顶部将Pickle我的应用程序中的目标导入到我的测试目标中,但是我一直收到错误.我一直收到的错误是:"无法导入桥接头(桥接头的路径)"(桥接头的路径显示在错误中,而不是括号中).我已经尝试在我的构建设置中将"定义模块"设置为"是",但它仍然不起作用.我还在构建设置中验证了它具有桥接头文件的正确路径.关于如何设置我的测试的任何想法?我在Xcode 6.3.2上.如果您需要任何其他信息,请与我们联系.PickleTestsimport PicklePickleTests.swift



Pickle

在新选项卡中打开图像以查看更大的图像.

dcg*_*oss 33

非常感谢@matt帮助我解决这个问题!

右键单击图像并在新选项卡中打开它们以查看它们.

正如在https://github.com/CocoaPods/CocoaPods/issues/2695上讨论的那样,问题似乎在于将Cocoapods作为项目的一部分.解决问题的链接底部附近的答案包括单击您的应用程序设置,然后单击您的项目Info(而不是您的任何目标设置).在那里你会看到你的Configurations设置:在此输入图像描述

您还会注意到配置设置中有两个目标,并且您的主目标配置设置将设置为无,而您的主目标将链接到Cocoapods.修复在于None将测试目标旁边的值更改为主目标具有的相同内容:在此输入图像描述

所以现在它们都与Cocoapods有关.确保您的主目标已Defines module设置为Yes其中Build Settings,构建您的项目并且测试文件中的错误应该消失.

此外,在我做了这个修复后,我遇到了另一个错误,其中链接器抛出一个错误抱怨我的测试目标中缺少一​​个库.这种缺少库是另一个依赖我在我的项目,我通过确保所有的依赖性都挂在我的主要目标就这么的解决了这个错误Link Binary with Libraries在它的Build Phases设置被复制到检查对象的Link Binary with Libraries在其Build Phases设置.


isu*_*uru 9

在测试类之上导入模块

@testable import myModuleName
Run Code Online (Sandbox Code Playgroud)

您可以在上找到您的模块名称 Target->Build Settings-> Product Module Name

然后您可以使用属于该模块的任何类。无需一一导入类。