CocoaPod问题与测试目标

时间:2014-11-22 16:00:38

标签: ios testing swift dependencies cocoapods

我在swift中有一个帮助类(GoogleHelper),它使用Google财务API,我使用AFNetworking进行Google API调用。使用可可豆荚导入AFNetworking

我需要测试GoogleHelper并需要嘲笑。

为了模拟工作,我还必须将GoogleHelper文件添加到测试目标中。并在测试类中重新定义一个模拟类。

class MockGoogleHelper: GoogleHelper {
    override func getSymbol(text: String) -> String {
        return "symbol"
    }
}

问题是测试目标已编译AFNetwork的问题。我手动将头文件和编译的pod库添加到测试目标,但问题仍然存在。

我有两个问题?

  1. 如何让cocoa pods将依赖项添加到测试目标中。我在我的pod文件中使用了linked_with但没有运气

  2. 如果我设置我的测试错误的方式有任何提示让我知道,因为我认为当我测试我的帮助类时它不应该依赖于AFNetworking但我不知道如何消除依赖。

1 个答案:

答案 0 :(得分:1)

要使其发挥作用,您应该做几件事:

  1. 将测试目标添加到您的pod文件,例如linked_with' myprj',' myprjTests'
  2. 调试和发布的项目/信息/配置中的
  3. 分别选择Pods.debug或Pods.release。
  4. 如果项目在swift上,并且使用可可豆荚导入的库是目标c,则需要桥接您的库。这样做只是尝试将一个目标c文件添加到您的测试文件中,Xcode会自动将桥接头添加到您的项目中。