У меня есть XCode статический проект библиотеки, как я добавляю тестовую цель к нему так, я могу выполнить его туда? (Вместо в проекте, который связывается с ним.)

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

Я вижу, как добавить цель, но я не уверен, как настроить ее для выполнения как "шаблон проекта" Инструмента Командной строки, делает. Я пытался добавить новую "цель" Инструмента Shell, но я не знаю, как заставить ее работать как одна. Какие настройки сборки я должен добавить к той цели? Какие файлы (main.m?) я должен запустить его?

РЕДАКТИРОВАНИЕ (Добавленный мои комментарии снизу для обнадеживающего создания вопроса более соответствующим.)

Моя библиотека имеет две цели, один для iOS и один для MacOS. Я только включаю его в проект iOS до сих пор, таким образом, это - то, я хочу работу с в настоящее время. Я пытался добавить Сенсорную цель Пакета Модульного теста Какао, но мои сбои сборки и я получаем команду/bin/sh/отказавший с кодом выхода 1 и Проваленными тестами на архитектуру 'i386' (GC ПРОЧЬ). Я не думаю, что хочу работать на i386 (по крайней мере, не для теста моей цели iOS), и я не могу найти ничего, что говорит что i386 в целевых настройках.

Я вижу, что моя активная архитектура для проекта является i386 (в меню Project> Set Active Architecture), но это не позволяет мне изменить его там. Моя цель TestApp имеет Стандарт (armv6) как набор архитектуры, и я пытался искать настройки, и ничто не имеет i386 в нем. Как я изменяю это?

1
задан zekel 15 June 2010 в 21:38
поделиться

2 ответа

В SDK для Mac OS X есть шаблон для цели bundle для unit-test.

Обратите внимание, что "пакет" - это продукт сборки цели тестирования: Цель создает пакет для юнит-тестирования. Она не требует, чтобы ваш реальный продукт (библиотека, приложение и т.д.) был пакетом; на самом деле, не имеет значения, что представляет собой ваш реальный продукт.

Тем не менее, вы можете сделать это немного по-другому, если у вас статическая библиотека:

  1. Щелкните правой кнопкой мыши на чем-либо в дереве группы. В подменю "Добавить" выберите "Новая цель".
  2. Под заголовком Mac OS X выберите Cocoa. Прокрутите вниз список шаблонов и выберите Unit Test Bundle. Нажмите OK.
  3. Назовите свою цель unit-test bundle.
  4. Добавьте продукт сборки библиотеки (из группы Products) в фазу Link Binary with Libraries вашей цели unit-test bundle.
  5. Добавьте целевую библиотеку (из группы Targets) в целевой пакет unit-test bundle, вне фазы сборки. Это сделает ее зависимостью, так что цель тестового пакета будет пересобирать библиотеку при необходимости.
  6. Установите активную цель в качестве цели тестового пакета.

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

2
ответ дан 2 September 2019 в 23:50
поделиться

Можно ли изменить активный исполняемый файл? (он находится в меню Project в Xcode: Set Active Executable)

Содержит ли ваша цель Shell Tool функцию int main (int argc, char * argv []) в одном из своих встроенных файлов?

0
ответ дан 2 September 2019 в 23:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: