Как автоматически выполнять модульные тесты для каждой сборки?
Как автоматически выполнять модульные тесты для каждой сборки?
Я попытался добавить целевую страницу Unit Tests в Project Target в качестве зависимости, но это, похоже, не запускает фактические тесты.
Ответы
Ответ 1
Установите для параметра "Настройка после сборки" значение "Да". Выберите "Продукт" > "Создать для" > "Сборка для тестирования", чтобы создать проект и запустить тесты.
Обновление Xcode 5
Xcode 5 не поддерживает настройку сборки после сборки. Я не знаю, как автоматически запускать тесты для каждой сборки в Xcode 5. В строке меню OS X выберите "Продукт" > "Тест" или нажмите "Command + u" для запуска модульных тестов в Xcode 5.
Ответ 2
Чтобы установить связь между вашими целями:
- На вкладке "Выбор схемы" выберите "Изменить схему..."
- Выберите этап тестирования
- Убедитесь, что вы видите вкладку "Информация", а не вкладку "Аргументы"
- Нажмите "+" и укажите цель тестирования
- Вы должны увидеть список тестов. Нажмите "ОК"
Затем, чтобы запустить тесты, выберите "Продукт" > "Тест" или просто "⌘U" с клавиатуры. Это будет:
- Создайте основную цель
- Создайте тестовую цель.
- Выполняйте свою основную цель в соответствии с ее типом, запуская тесты
Ответ 3
Вот что мне нужно было сделать, чтобы XCode 4 автоматически запускал модульные тесты при сборке.
- Включите "Test After Build" для вашей основной цели. (См. Ответ Марка Шимчика)
- Включить целевую аудиторию для запуска во время фазы сборки вашей основной схемы построения цели.
- Нажмите Продукт > Управление схемами.
- Дважды щелкните по вашей целевой схеме (у меня был только один в моем списке)
- Развернуть аккордеон сборки слева
- Выберите вариант сборки в аккордеоне
- Вы должны увидеть, что вы тестируете проект справа, убедитесь, что флажок Запустить установлен..
Ответ 4
Я думал, что дам описание высокого уровня шагов, которые сработали для меня. (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" и по умолчанию установить значение "НЕТ". Нажмите кнопку "НЕТ" и измените ее на "ДА". Еще один шаг. Поднимите схему проекта. (Меню продукта → Изменить схему...) Выберите "Сборка" в столбце слева. Вы должны увидеть свои две цели и некоторые флажки справа. В строке "MyCocoaAppTests" установите флажок "Запустить" и нажмите "ОК". Все готово. Введите команду-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 в разделе "Сборка" схемы для приложения. ПОСЛЕДНИЙ ШАГ: вы должны добавить новую фазу сборки "Запустить Script" в цель MyCocoaAppTest (не для MyCocoaApp!). Выберите целевую аудиторию, нажмите "Построить фазы", нажмите "Добавить фазу сборки" в правом нижнем углу, выберите "Добавить запуск Script". Раздел "Запустить Script" откроется ниже остальных фаз сборки. Поле script содержит в себе этот текст: "Введите a script или перетащите файл script из вашей рабочей области". В этом поле введите: "$ {SYSTEM_DEVELOPER_DIR}/Инструменты/RunUnitTests". (Включая кавычки.)
Что это. Hit Command-B. Ваше приложение должно строить. Ваши тесты должны быть построены, а затем запущены. Удачи. Уф.