У меня есть рабочее пространство XCode с проектом пользовательского интерфейса (UI) и основным логическим проектом (Core). Я хочу выполнить единичные тесты OCUnit в проекте пользовательского интерфейса, поэтому я добавил новую цель для тестирования, как это обычно делается.Тестирование модуля в статической библиотеке
Я могу выполнить тесты очень хорошо, пока не поставлю в операторах импорта классы в главном целевом элементе пользовательского интерфейса, которые, в свою очередь, ссылаются на основной проект.
Ошибка, которую я получаю, это «Лексический или препроцессорный выпуск» xxx.h «файл не найден». Я не получаю это сообщение, когда я напрямую настраиваю основной объект пользовательского интерфейса.
Это как если основной объект пользовательского интерфейса знает о Core, когда он построен, но когда он ссылается с тестовой цели, он, похоже, ничего не знает о Core.
Я сделал шаг добавления ссылки на основной проект, используя «Связывание двоичных файлов с библиотеками». Элемент в списке остается красным. Ключ? Возможно, но красная ссылка в списке ссылок не препятствует созданию пользовательского интерфейса и использует основные классы. Я также сделал главной целью зависимость тестовой цели.