тестирование ocunit на iPhone - PullRequest
4 голосов
/ 08 июня 2010

Я пытаюсь заставить ocunit работать в моем проекте из XCode. Так как мне также нужно отлаживать в модульных тестах, я использую скрипт, который автоматизирует настройку (см. Ниже). Я просто включаю его в проект в разделе ресурсов и изменяю имя на файл .ocunit, который хочу запустить.

Проблема, которую я получаю, состоит в том, что он не может найти файл пакета и поэтому существует с ошибкой. Может ли кто-нибудь, кто имеет представление о XCode и Objective-C, взглянуть на это и сказать мне, что не так. Также, как мне создать файл .ocunit, который мне нужен для запуска. Установив новую цель модульных тестов для iPhone и добавив к ней тесты или?

Надеюсь, у кого-то есть подсказка, поскольку я только начал разработку iPhone и мне нужно быстро его запустить и запустить

Apple Script

-- The only customized value we need is the name of the test bundle
tell me to activate
tell application "Xcode"
 activate

 set thisProject to project of active project document
 tell thisProject
  set testBundleName to name of active target
  set unitTestExecutable to make new executable at end of executables
  set name of unitTestExecutable to testBundleName
  set path of unitTestExecutable to "/Applications/TextEdit.app"

  tell unitTestExecutable

   -- Add a "-SenTest All" argument
   make new launch argument with properties {active:true, name:"-SenTest All"}

   -- Add the magic 
   set injectValue to "$(BUILT_PRODUCTS_DIR)/" & testBundleName & ".octest"


   make new environment variable with properties {active:true, name:"XCInjectBundle", value:injectValue}
   make new environment variable with properties {active:true, name:"XCInjectBundleInto", value:"/Applications/TextEdit.app/Contents/MacOS/TextEdit"}
   make new environment variable with properties {active:true, name:"DYLD_INSERT_LIBRARIES", value:"$(DEVELOPER_LIBRARY_DIR)/PrivateFrameworks/DevToolsBundleInjection.framework/DevToolsBundleInjection"}
   make new environment variable with properties {active:true, name:"DYLD_FALLBACK_FRAMEWORK_PATH", value:"$(DEVELOPER_LIBRARY_DIR)/Frameworks"}
  end tell
 end tell
end tell

Ответы [ 2 ]

2 голосов
/ 14 февраля 2011

Пройдя через аналогичные хлопоты, я собрал краткое изложение шагов, которые я предпринял, чтобы выполнить отладку своих модульных тестов.Ссылка здесь: Как запустить и отладить юнит-тесты для приложения iphone

2 голосов
/ 03 июля 2010

Похоже, что этот скрипт выполняет редактирование xcode для вставки тестов OCUnits в отладчик.На самом деле сборка не выполняется с помощью OCUnit.

Вам НЕОБХОДИМО создать цель OCUnit, а затем создать классы тестовых примеров OCUnit, которые указывают на эту цель.

Здесь вы найдете руководство по использованию OCUnit сXCode.

http://www.mobileorchard.com/ocunit-integrated-unit-testing-in-xcode/

...