мне нужно вручную добавлять каждый файл * .m к моей цели модульного теста, когда это необходимо? - PullRequest
5 голосов
/ 28 апреля 2011

Я использую модульное тестирование в XCode 4. Я добавляю файлы моего приложения * .m к целевым объектам модульного теста «источники компиляции», поскольку я обращаюсь к ним, чтобы модульный тест собирался / запускался.

Есть ли лучший способ здесь?

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

Ответы [ 3 ]

8 голосов
/ 03 мая 2011

До Xcode 4 описанный вами подход был необходим: цель тестирования приложения должна была, по сути, быть копией вашего реального приложения плюс тесты.

Но с Xcode 4 нам больше не нужно делать это для тестирования в симуляторе. Вместо этого используйте цель, которая представляет собой комплект модульных тестов, и добавьте свои тесты в комплект. Во время тестирования приложение запускается, и тестовый пакет будет внедрен в приложение и связан с ним, все во время выполнения.

Поскольку, похоже, вы попробовали этот подход, давайте обсудим реальные ошибки, которые вы получаете.

2 голосов
/ 28 апреля 2011

Да, вам нужно будет добавить каждый .m-файл, который вам нужен, к вашей цели модульного теста.

Это будет включать их в целевую фазу компиляции и компоновки.

0 голосов
/ 17 октября 2014

, если testTarget был создан на основе языка SWIFT в проекте Obj-C

Было бы достаточно составить схему testTrget но таких далеко: Продукт -> Схема -> Редактировать схему -> Закладка: проверено только проверить больше ничего.

ВАЖНО: Вы не должны включать каждый файл .m в тестовую цель Просто добавьте заголовки в testTarget-Bridging-Header.h

Примечание: если вы ПРОВЕРИТЕ больше в схеме или ВКЛЮЧИТЕ файл .m в testTarget, вы можете получить конфликт заголовков

...