Как настроить цель тестов рабочей логики в проекте «Инструмент командной строки» в Xcode 4.5?
Возникли проблемы с настройкой юнит-тестов для конкретного сценария. Вот что я пытаюсь:
В Xcode 4.5 я создал простой OSX«Инструмент командной строки» заявочный проект (Foundation).
Обратите внимание, что Xcodeне предоставить возможность автоматического добавления модульных тестов в проект «Инструмент командной строки», поэтому не предлагайте ставить галочку; его там нет: - /
В своем проекте я создал тривиальный пример класса, который я хотел бы протестировать; например «Форма».
Я следовал инструкциям в AppleРуководство по тестированию Xcode заНастройка юнит-тестирования в проекте:
Я добавил цель модульного теста в свой проект, и
Я отредактировал схему «Тест» для запуска тестов в новой цели.
В файле реализации тестового проекта (.m) я добавил импорт дляShape.h
и код вsetUp()
метод для создания экземпляра фигуры и присвоения его переменной экземпляра.
В этот момент я решил посмотреть, будут ли все происходить, и будет ли тест по умолчанию работать все еще. Тем не менее, когда я выбралПродукт ... Тест из меню, сборка не удалась со следующей ошибкой:
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_Shape", referenced from:
objc-class-ref in ExampleTests.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Интерпретация этой ошибки не является проблемой. Я понимаю, что цель модульного теста не связана с двоичным файлом, содержащим реализацию Shape. Тем не менее, я (пока) не занимаюсь модульным тестированием XCode и настройкой цели. Так:
Что мне нужно сделать, чтобы связать цель теста с результирующим выводом инструмента командной строки? Можно ли связать исполняемый файл командной строки с целью модульного теста? Документация Apple выглядит специфично для обычных приложений OSX (*.app
) и приложения для iOS, и это ни то, ни другое.
У меня есть классы бизнес-логики, которые я хотел бы разработать в настройках инструмента командной строки (для начала), поэтому я хотел бы понять, что мне нужно сделать, чтобы запустить целевой модуль модульного теста в «средстве командной строки». тип проекта.Спасибо!
(с. обратите внимание, что яне заинтересованы в проведении моих модульных тестовиз командная строка - Stack Overflow уже предлагал «похожие» вопросы о том, как это сделать - но скорее запускать юнит-тестына тип "Инструмент командной строки"проекти еще изнутри Xcode.)