我正在尝试在我的iOS应用中测试这些类。我正在尝试通过将Pickle
添加到我的PickleTests
测试文件的顶部,将我的应用中的目标import Pickle
导入我的测试目标PickleTests.swift
,但是我一直在收到错误。
我一直收到的错误是:"无法导入桥接头(桥接头的路径)" (桥接头的路径显示在错误中,而不是括号中)。
我试过设置"定义模块"在Pickle
的构建设置中,定位到"是",但它仍然无法正常工作。我还在构建设置中验证了它具有桥接头文件的正确路径。
有关如何设置测试的任何想法?我在Xcode 6.3.2上。如果您需要任何其他信息,请与我们联系。
在新标签页中打开图片以查看图片。
答案 0 :(得分:30)
非常感谢@matt帮助我解决这个问题!
右键单击图像并在新选项卡中打开它们以查看它们。
正如https://github.com/CocoaPods/CocoaPods/issues/2695所讨论的那样,问题似乎在于将Cocoapods作为项目的一部分。解决问题的链接底部附近的答案包括单击您的应用程序设置,然后单击您的项目Info
(不是您的任何目标'设置)。在那里,您会看到Configurations
设置:
您还会注意到配置设置中有两个目标,并且您的主目标配置设置将设置为无,而您的主目标将链接到Cocoapods。修复在于将测试目标旁边的None
值更改为主目标具有的相同内容:
所以现在它们都与Cocoapods有关。确保您的主要目标Defines module
的{{1}}设置为Yes
,构建您的项目并且测试文件中的错误应该消失。
另外,在我做了这个修复之后,我遇到了另一个错误,其中链接器抛出一个错误,抱怨我的测试目标中缺少一个库。这个丢失的库是我项目中的另一个依赖项,我通过确保复制了Build Settings
设置中我的主要目标Link Binary with Libraries
中链接的所有依赖项来解决此错误在其Build Phases
设置中转到测试目标Link Binary with Libraries
。
答案 1 :(得分:4)
答案 2 :(得分:1)
FWIW,在Xcode 7上,使用注释导入:@testable。 例如:
import Pickle
@ImportTests
然后,您将能够在代码完成和编译中看到类。 来源:https://www.natashatherobot.com/swift-2-xcode-7-unit-testing-access/
答案 3 :(得分:0)
在测试类的顶部导入模块
@testable import myModuleName
您可以在Target->Build Settings-> Product Module Name
上找到您的模块名称
然后,您可以使用属于该模块的任何类。无需一一导入类。