OCMock для iPhone (iOS4, XCode 3.2.3)

У меня установлена ​​последняя версия OCMock (1.55) и XCode 3.2.3.

Я создал цель тестового пакета в своем проекте. Как лучше всего использовать OCMock в моих тестах? Когда я добавляю OCMock.framework в тестовый пакет, появляется эта ошибка сборки:

  "_OBJC_CLASS_$_OCMockObject", referenced from:
  objc-class-ref-to-OCMockObject in NotificationTests.o
  ld: symbol(s) not found
  collect2: ld returned 1 exit status

person alexey    schedule 08.07.2010    source источник
comment
у меня тоже такая проблема   -  person nduplessis    schedule 22.07.2010


Ответы (3)


У меня была такая же проблема, вот как я ее решил:

  • Удалите ocmock.framework, фазу копирования файла и любой путь поиска, связанный с заголовком ocmock.

  • проверьте последнюю версию из репозитория ocmock svn: http://svn.mulle-kybernetik.com/OCMock/trunk

  • Создайте цель OCMockPhoneSim

  • Скопируйте папку libOCMock.a и Headers в папку вашего проекта.

  • добавьте libOCMock.a в свою структуру и добавьте ссылку на папку заголовков в пути поиска целевой библиотеки.

Тогда это работает!

Надеюсь это поможет.

person vdaubry    schedule 23.07.2010

См. руководство Колина Барретта "OCMock и iPhone".

person Kristopher Johnson    schedule 08.07.2010
comment
Пытался добавить фазу копирования файлов в цель, но у меня это не работает. Та же ошибка. - person alexey; 08.07.2010

Ответ пользователя 3135374 в основном помог мне в этом.

Дополнительная информация:

  • SDK должен быть iPhone Simulator 4.0, потому что в версии 3.2 есть ошибка, из-за которой невозможно правильно запустить модульные тесты. Многие люди жалуются на это. Я установил это как BaseSDK для моей цели модульного теста.

  • Вам нужно добавить другие флаги компоновщика "-ObjC -force_load $(PROJECT_DIR)/path/to/libOCMock.a" к вашей цели модульного теста, иначе вы получите много ошибок "неопознанный селектор, отправленный в экземпляр" во время выполнения.

  • Если вам нужна цель с модульными тестами, которую вы можете отлаживать (устанавливать точки останова), следуйте этому руководству: http://www.lostechies.com/blogs/scottdensmore/archive/2010/07/24/debugging-unit-tests-for-the-iphone-ipad.aspx

В этой ветке на форумах OCMock есть пример проекта, который вы можете использовать:

http://www.mulle-kybernetik.com/forum/viewtopic.php?f=4&t=73&p=119#p119

person Jeremy    schedule 27.07.2010