OCMock不会通过Cocoapods模拟类

时间:2016-07-20 10:07:52

标签: cocoapods ocmock

我正在使用OCMock来模拟DataFetcher类:

[self.commandDelegate evalJs:@"setPlayStatus()"];

当DataFetcher成为项目的一部分时,它工作正常。但后来我们将DataFetcher转移到私人Cocoapods。嘲笑停止了工作。 andCall中定义的方法再也没有调用过。

OCMock可以用来模拟通过cocoapods添加的类吗?我怎样才能使它发挥作用?

1 个答案:

答案 0 :(得分:0)

我发现问题在于我在pod文件中包含测试目标的方式。我所拥有的是:

target 'Service' do
    pod 'MTDates'
    pod 'libextobjc'
    pod 'DataFetcher'

    target 'ServiceTests' do
        pod 'OCMock'
        pod 'OHHTTPStubs'
    end
end

这导致DataFetcher类链接到两个目标,因此它在运行时被复制。

我改为

target 'Service' do
    pod 'MTDates'
    pod 'libextobjc'
    pod 'DataFetcher'
end

target 'ServiceTests' do
    pod 'OCMock'
    pod 'OHHTTPStubs'
end

这解决了这个问题。