Вопросы по настройке OCMockito с Cocoapods

У меня проблемы с настройкой OCMockito (и OCHamcrest) с Cocoapods на Xcode 5. Это мой 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), Xcode не может найти этот импорт:

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

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

Поэтому я попытался сделать это insted:

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

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

Это работает, но я не знаю, нормально ли это.

Также у меня есть еще один вопрос. Насколько я понимаю, я связываю RestKit и OCMockito и с моей основной целью, и с моей целью тестирования. Можно ли связать RestKit на обеих целях, но связать OCMockito только с целью тестирования?

Заранее спасибо за помощь.

ОБНОВИТЬ:

Это файл Pods.xcconfig, созданный Cocoapods:

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/Headers/OCMockito

Бобы / Headers / OCMockito

2 ответа

Решение

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
Другие вопросы по тегам