首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于Cocoapods OCMockito设置的几个问题

关于Cocoapods OCMockito设置的几个问题
EN

Stack Overflow用户
提问于 2013-09-25 16:41:15
回答 2查看 816关注 0票数 1

在Xcode 5上使用Cocoapods设置OCMockito (和OCHamcrest)有困难。这是我的Podfile:

代码语言:javascript
复制
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无法找到这个导入:

代码语言:javascript
复制
#define HC_SHORTHAND
#import <OCHamcrestIOS/OCHamcrestIOS.h>

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

所以我试着做这件事

代码语言:javascript
复制
#define HC_SHORTHAND
#import <OCHamcrest/OCHamcrest.h>

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

它起作用了,但我不知道这是否好。

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

提前谢谢你的帮助。

更新:

这是Cocoapods的Pods.xcconfig生成器:

代码语言:javascript
复制
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头的设置不正确,那么吊舱是错的吗?

更新:

这是Pods/Header/OCMockito的内容

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-22 05:16:33

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

票数 1
EN

Stack Overflow用户

发布于 2013-10-30 23:14:10

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

代码语言:javascript
复制
target :YourTestTarget, :exclusive => true do
    pod 'OCHamcrest',   '~> 3.0'
    pod 'OCMockito',   '~> 1.0'
    #pod 'RestKit/Testing'
end

如果您计划对您的RestKit映射(等等)进行单元测试,那么您可能也希望在您的包中包含RestKit/测试。

然后你就像这样把它包括进去:

代码语言:javascript
复制
#define HC_SHORTHAND
#import <OCHamcrest/OCHamcrest.h>

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

这就是完整的Podfile的样子:

代码语言:javascript
复制
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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19010634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档