2015-01-21 4 views
4

Я пытаюсь выполнить тестирование тестового инструмента командной строки, написанного для Mac OS.Запись XCTestCase для Mac OS Command Line Tool

Когда я впервые создаю проект, XCode не создает группу тестов в навигаторе проекта. Когда я пытаюсь добавить новую тестовую цель, она не дает мне возможность указать мою цель как «Target to Tested».

Мой вопрос: возможно ли использовать XCTest для проекта Command Line Tool? Или это просто считается тривиальным для этого в силу того, что я мог просто запустить его из командной строки? Я мог понять это рассуждение, но есть внутренняя функциональность, которую я бы очень хотел протестировать.

ответ

4

Я не уверен, какую версию Xcode вы используете, но я столкнулся с подобной проблемой, используя шаблоны в Xcode версии 6.2 (6C131e). Тем не менее, я смог заставить XCTests работать с проектом Command Line Tool. Решение заключалось в том, чтобы игнорировать поле «Целевое тестирование» во время создания и вместо этого добавлять целевой объект к основной схеме после его создания:

  1. Перейти к разделу «Управление схемами». Вы должны увидеть схему своей основной цели и новую схему тестирования .
  2. Выберите основную схему и перейдите в раздел «Редактировать».
  3. Выберите тестовое действие и добавьте новую тестовую цель в список тестов , используя «+» в панели подробных сведений о тестировании.

Оттуда вы должны иметь возможность запускать тесты с помощью cmd-U.

+0

Мне также пришлось вручную добавить тестовое целевое членство ко всем файлам кода, которые я хотел проверить. –

1

В Xcode 8.2 я смог выполнить единичные тесты в приложении командной строки, добавив единую тестовую цель из тестового Навигатора, а затем отредактировав схему тестирования, чтобы включить эту новую тестовую цель в список «тесты», и вручную добавляя тестируемые исходные файлы к целевой цели из раздела «целевое членство» на панели «Инспектор файлов».

(Добавление цели модульного тестирования из проекта «добавить цель» экран не будет связывать должным образом с каркасом XCTest, даже после добавления рамок для создания фаз.)

После Apple doc directions для добавления цели модульного тестирования из панели Test Navigator выглядит следующим образом:

Xcode navigator pane open to Test Navigator section, after having clicked the 'add new test target or class' button

Примечание:

  • В настройке «Тестирование целевого объекта» в раскрывающемся списке «Цель, подлежащая тестированию» не будет выбран инструмент командной строки. Оставьте эту опцию «Нет».