繁体   English   中英

有关带Cocoapods的OCMockito设置的问题

[英]Questions about OCMockito setup with Cocoapods

我在Xcode 5上用Cocoapods设置OCMockito(和OCHamcrest)时遇到麻烦。这是我的Podfile:

platform :ios, '5.0' 
pod 'RestKit', '~> 0.20.0'
pod 'OCMockito', '~> 1.0.0'
link_with ['WeatherApp', 'WeatherAppTests']

当我尝试遵循iOS项目设置( https://github.com/jonreid/OCMockito#adding-ocmockito-to-your-project )时,Xcode找不到此导入:

#define HC_SHORTHAND
#import <OCHamcrestIOS/OCHamcrestIOS.h>

#define MOCKITO_SHORTHAND
#import <OCMockitoIOS/OCMockitoIOS.h>

所以我试图做到这一点:

#define HC_SHORTHAND
#import <OCHamcrest/OCHamcrest.h>

#define MOCKITO_SHORTHAND
#import <OCMockito/OCMockito.h>

它正在工作,但我不知道是否可以。

另外,我还有一个问题。 据我了解,我正在将RestKit和OCMockito链接到我的主要目标和测试目标。 是否可以在两个目标上都链接RestKit但仅将OCMockito链接到测试目标?

先谢谢您的帮助。

更新:

这是Cocoapods的Pods.xcconfig Generetad:

GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers" "${PODS_ROOT}/Headers/AFNetworking" "${PODS_ROOT}/Headers/OCHamcrest" "${PODS_ROOT}/Headers/OCMockito" "${PODS_ROOT}/Headers/RestKit" "${PODS_ROOT}/Headers/RestKit/RestKit" "${PODS_ROOT}/Headers/RestKit/RestKit/CoreData" "${PODS_ROOT}/Headers/RestKit/RestKit/Network" "${PODS_ROOT}/Headers/RestKit/RestKit/ObjectMapping" "${PODS_ROOT}/Headers/RestKit/RestKit/Support" "${PODS_ROOT}/Headers/SOCKit" "${PODS_ROOT}/Headers/TransitionKit"
OTHER_LDFLAGS = -ObjC -framework CFNetwork -framework CoreData -framework CoreGraphics -framework MobileCoreServices -framework Security -framework SystemConfiguration
PODS_ROOT = ${SRCROOT}/Pods

似乎IOS标头未正确设置,那么Pod错误吗?

更新:

这是Pod / Headers / OCMockito的内容

荚/头/ OCMockito

OCHamcrestIOS仅适用于使用预构建的iOS框架。 使用CocoaPods时,只需导入OCHamcrest。

要在测试目标捆绑包而不是主应用程序中使用OCHamcrest(或OCMockito),可以将以下内容添加到Podfile中:

target :YourTestTarget, :exclusive => true do
    pod 'OCHamcrest',   '~> 3.0'
    pod 'OCMockito',   '~> 1.0'
    #pod 'RestKit/Testing'
end

如果您打算对RestKit映射(等)进行单元测试,那么您可能还希望在套件中包括RestKit / Testing。

然后,您只需要像这样包含它:

#define HC_SHORTHAND
#import <OCHamcrest/OCHamcrest.h>

#define MOCKITO_SHORTHAND
#import <OCMockito/OCMockito.h>

这是您完整的Podfile的样子:

platform :ios, '5.1'
pod 'Appirater',    '~> 0.0.2'
pod 'FlurrySDK',    '~> 4.0.5'
pod 'RestKit',      '~> 0.21.0'
target :FooBarTests, :exclusive => true do
    #pod 'RestKit/Testing'
    pod 'OCHamcrest',   '~> 3.0'
    pod 'OCMockito',   '~> 1.0'
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM