Как автоматически выполнить модульные тесты для каждой сборки? - PullRequest
18 голосов
/ 13 июля 2011

Как автоматически выполнять модульные тесты для каждой сборки?

Я пытался добавить цель модульных тестов к цели проекта в качестве зависимости, но, похоже, она не запускает реальные тесты.

Ответы [ 4 ]

8 голосов
/ 13 июля 2011

Установите для параметра «Тест после сборки» значение «Да». Выберите «Продукт»> «Создать для»> «Создать для тестирования», чтобы построить проект и запустить тесты.

Обновление Xcode 5

Xcode 5 не поддерживает настройку сборки после тестирования. Я не знаю ни одного способа автоматического запуска тестов для каждой сборки в Xcode 5. В строке меню OS X выберите Product> Test или нажмите Command + u, чтобы запустить модульные тесты в Xcode 5.

3 голосов
/ 04 октября 2011

Вот что мне нужно было сделать, чтобы XCode 4 автоматически запускал модульные тесты при сборке.

  1. Включите «Тест после сборки» для вашей основной цели. (См. Ответ Марка Шимчика)
  2. Включите тестовую цель на этапе сборки схемы сборки вашей главной цели.
    • Нажмите Продукт> Управление схемами пункт меню
    • Дважды щелкните по схеме вашей цели (у меня в списке был только один)
    • Разверните Строительный аккордеон слева
    • Выберите опцию Build в аккордеоне
    • Справа вы увидите тестовый проект, убедитесь, что установлен флажок Run .
3 голосов
/ 13 июля 2011

Чтобы установить связь между вашими целями:

  • В окне выбора схемы выберите «Редактировать схему…»
  • Выберите фазу тестирования
  • Убедитесь, что выВы видите вкладку «Информация», а не вкладку «Аргументы»
  • Нажмите «+» и укажите цель тестирования
  • Вы должны увидеть список тестов.Нажмите «ОК»

Затем, чтобы запустить тесты, выберите «Продукт»> «Тест» или просто ⌘U на клавиатуре.Это будет:

  • Построение вашей главной цели
  • Построение вашей тестовой цели
  • Выполнение вашей главной цели в соответствии с ее типом, выполнение тестов
1 голос
/ 16 июня 2012

Я думал, что дам высокоуровневое объяснение шагов, которые сработали для меня. (OS X 10.7.4, Xcode 4.3.3) Если вы не знакомы с такими вещами, как этапы сборки и схемы, вот отличный ресурс от Apple: http://developer.apple.com/library/ios/#documentation/ToolsLanguages/Conceptual/Xcode4UserGuide/Building/Building.html

Для нового проекта обязательно установите флажок «Включить модульные тесты» на странице, где вы вводите название нового проекта. Нажмите на значок проекта в Навигаторе проектов, чтобы увидеть две цели, которые были созданы автоматически. Они будут называться как «MyCocoaApp» и «MyCocoaAppTests». Выберите цель MyCocoaAppTests (НЕ MyCocoaApp!) И выберите «Настройки сборки» из вариантов в верхней части представления. Введите «тест после сборки» в строке поиска в верхней части представления. Вы должны увидеть единственную настройку для «Test After Build», и по умолчанию она имеет значение NO. Нажмите на настройку НЕТ и измените ее на ДА. Еще один шаг. Составьте схему для проекта. (Меню продукта -> Редактировать схему ...) Выберите «Построить» в столбце слева. Вы должны увидеть свои две цели и несколько флажков справа. В строке «MyCocoaAppTests» установите флажок «Выполнить» и нажмите «ОК». Вы сделали Введите Command-B. Ваше приложение будет скомпилировано, модульные тесты скомпилированы, модульные тесты будут запущены и завершатся с ошибкой, которая существует по умолчанию.

Если вам нужно добавить модульное тестирование в существующий проект, он немного сложнее. Сначала следуйте инструкциям Apple: https://developer.apple.com/library/mac/#documentation/developertools/Conceptual/UnitTesting/02-Setting_Up_Unit_Tests_in_a_Project/setting_up.html#//apple_ref/doc/uid/TP40002143-CH3-SW1

Если вы не пропустили ни одного шага, теперь вы должны настроить модульные тесты, которые запускаются при выборе (Меню продукта -> Тест). Теперь выполните два шага, описанных выше: 1) Установите для параметра «Test After Build» значение YES для цели MyCocoaAppTest; 2) Установите флажок «Выполнить» для цели MyCocoaAppTest в разделе «Построение» схемы приложения. ПОСЛЕДНИЙ ШАГ: Вы должны добавить новую фазу сборки «Run Script» к цели MyCocoaAppTest (НЕ MyCocoaApp!). Выберите цель теста, нажмите «Фазы сборки», щелкните значок «Добавить фазу сборки» в правом нижнем углу, выберите «Добавить сценарий запуска». Раздел «Run Script» откроется ниже других фаз сборки. Поле сценария содержит следующий текст: «Введите сценарий или перетащите файл сценария из рабочей области». В этом поле введите: «$ {SYSTEM_DEVELOPER_DIR} / Инструменты / RunUnitTests». (Включая кавычки.)

Вот и все. Хит Command-B. Ваше приложение должно создать. Ваши тесты должны быть собраны, а затем запущены. Удачи. Уф.

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