Cocoapods库在单元测试期间未正确返回isKindOfClass

时间:2013-12-31 20:38:23

标签: ios unit-testing cocoapods ecslidingviewcontroller

我有一个用Cocoapods(ECSlidingViewController)安装的库。在代码中,使用-isKindOfClass进行比较。在调试器中,打印描述和所有内容都说这个变量是一个ECSlidingViewController。但是,当代码运行时,它返回NO。

目前我有我的podfile将库与主目标和测试目标相关联。如果我不这样做,测试目标找不到库。

1 个答案:

答案 0 :(得分:1)

这个答案为我解决了https://stackoverflow.com/a/27165120/2777364

简而言之,您不应将pod与测试目标链接,并且应该为至少一个其他pod创建单独的链接以供测试目标强制生成配置集。

target 'MainTarget' do
    pod 'PodYouTryToTest'
end

target 'Tests' do
    pod 'AtLeastOneOtherPod'
end

上面的答案是解决这个问题的“正确方法”。作为一种快速解决方法,我可以提出一种方法:

Class getBundleDependentClass(Class class) { 
     return NSClassFromString(NSStringFromClass(class)); 
}