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

标签 ios unit-testing cocoapods ecslidingviewcontroller

我有一个与 Cocoapods (ECSlidingViewController) 一起安装的库。在代码中,比较是使用 -isKindOfClass 完成的。在调试器中,打印描述和一切都表明这个变量是一个 ECSlidingViewController。但是,当代码运行时,它返回 NO。

目前我有我的 podfile 将库与主要目标和测试目标链接起来。如果我不这样做,测试目标就找不到库。

最佳答案

这个答案帮我解决了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)); 
}

关于ios - Cocoapods 库在单元测试期间未正确返回 isKindOfClass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20862949/

相关文章:

objective-c - 短信应用中的UIButton

ios - 如何通过 AVAssetExportSession 设置 AVFileTypeMPEG4 文件的元数据?

python mock_open 断言多个写入调用

swift - 位上升错误 : cocoapods project-workspace mapping error

swift - 一起使用 CocoaPods 和 @IBDesignable

ios - 如何使用 React Native 从 UIDevice 获取设备名称?

ios - 如何删除动态创建的 UIView 和 UILabel 文本?

android - 如何单元测试改造调用?

java - 我是否需要对 Web 服务请求调度程序 (Java) 进行单元测试?

xcode - Podfile PXGoogleDirections 和 GoogleMaps 名称冲突