Как мне протестировать окончательно собранный продукт статической библиотеки iOS, в отличие от составляющих ее классов? - PullRequest
0 голосов
/ 01 февраля 2011

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

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

Размышляя об общей настройке, я также подумал, не будет ли хорошей идеей обеспечить привязку цели тестирования приложения моей библиотеки к действительному двоичному артефакту libMyLib.a, тем самым ставя этот этап процесса под контроль Что ж.

Итак, два вопроса:

  1. Это вообще необходимо? Существует ли какой-либо значительный риск того, что конечный двоичный продукт libMyLib.a может вести себя иначе, чем серия скомпилированных файлов .m, которые уже используются в моих модульных тестах? (Возможным ответом будет то, что он защищает от случайного исключения одного из этих .m файлов в конечной цели сборки).

  2. Как можно убедиться, что цель тестирования приложения связывается с libMyLib.a? Это настраивается в настройках сборки? Нужен ли какой-либо пользовательский сценарий сборки?

Я заранее прошу прощения за основной вопрос, если это общеизвестно, я постепенно подхожу к скорости процесса сборки, связывания и т. Д. В целом, а не только к тому, как это реализовано с помощью SDK Apple.

1 Ответ

0 голосов
/ 02 февраля 2011

Это на самом деле довольно легко.В проекте вашей статической библиотеки:

(Предполагается XCode 3)

  1. Создать новую цель приложения.
  2. «Получить информацию» о цели приложения, чтобы изменить ее свойства.
  3. Нажмите вкладку «Общие» в верхней части
  4. Нажмите кнопку «+» под панелью «Прямые зависимости», добавьте свою цель построения статической библиотеки.Это создаст статическую библиотеку ДО того, как вы создадите новую цель приложения.
  5. Нажмите кнопку «+» под панелью «Связанные библиотеки», добавьте libMyLib.a (или как там называется ваша библиотека)

Теперь ваш проект должен ссылаться на фактический встроенный артефакт.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...