2010-02-23 15 views
4

Я разрабатывал инфраструктуру Mac OS X, и я хочу использовать OCUnit в своем проекте XCode 3.2.1. Я выполнил несколько руководств по настройке тестового пакета OCUnit. Проблема в том, что когда я создаю тестовый пример, который использует функцию, определенную в одном из источников структуры, я получаю ошибку здания, сообщающую мне, что символ не найден.Как настроить тестовый комплект OCUnit для фреймворка?

Я сделал тестовый комплект в зависимости от цели моего проекта, как сказал учебник, но это, похоже, не проблема. Сначала я подумал, что могу решить эту проблему, перетащив исходные файлы фрейма в раздел источников компиляции в целевой части тестового пакета, но затем все символы, ссылающиеся на этот исходный файл, начали появляться в ошибках сборки, так что, похоже, быть хорошим решением/идеей.

Как настроить комплект модулей для модулей, чтобы он правильно строился?

ответ

4

Я также пишу модульные тесты против рамки, надеюсь, я могу помочь. Вы не хотите перекомпилировать исходные материалы для модульного тестирования - вместо этого вы хотите связать себя с встроенной инфраструктурой. Вот что я предлагаю:

  1. Открыть информационное окно для целевой единицы измерения объекта, дважды щелкнув по цели на боковой панели.
  2. На вкладке «Общие» щелкните значок + в левом нижнем углу, чтобы добавить связанную библиотеку. Выберите структуру, которую создает ваш проект, и нажмите «Добавить». Закройте информационное окно.
  3. В каждом из ваших модульных тестов импортируйте файлы заголовков, необходимые для этого теста. Поскольку Xcode знает о файлах фреймворка, вы должны иметь возможность использовать форму #import "MyHeader.h", а не угловые скобки (< и >).

На данный момент ваши модульные тесты должны строиться без ошибок. Если нет, возможно, изучение того, как мои модульные тесты настроены для CHDataStructures, может помочь.

1

Я мог бы заставить его работать, установив флажок, соответствующий моей структуре (той, которая появляется в разделе продукта) в таблице просмотра файлов, которая появляется в основных окнах Xcode (я думаю, он поставил файл как target o что-то вроде этого). Кажется, что перетаскивание рамки в пакет Unit Test делает другое дело.

+1

Если у вас выбран пакет Unit Test и установите флажок для фреймворка, который вы строите, который включает его в фазу связывания. Это выполняет то же самое, что и добавление связанной библиотеки, хотя просмотр информации для цели обычно легче понять для большинства людей - это явный, а не зависящий от текущей активной цели. –

Смежные вопросы