Запуск юнит-тестов каждый раз, когда цель, которую они тестируют, скомпилирована - PullRequest
0 голосов
/ 06 января 2020

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

Ответы [ 2 ]

0 голосов
/ 07 января 2020

Хорошо, так что после некоторого исследования я понял:

1) Это возможно.

2) Это продлевает время сборки и, следовательно, не рекомендуется.

3) По какой-то причине мне потребовалось переключиться обратно на "Legacy Build System". enter image description here

Как перейти к «Устаревшей системе сборки»:

Файл -> Настройки рабочего пространства -> Система сборки

4) Если у вас есть зависимости между схемой продукта и схемой тестирования, обязательно удалите ее. enter image description here

Как заставить это работать:

Согласно документации https://developer.apple.com/library/archive/technotes/tn2339/_index.html вы можете использовать " xcodebuild »и добавьте« Run Script »для построения схемы тестов.

Чтобы добавить скрипт go в настройки вашего проекта -> Фазы сборки ->« + »-> вставьте приведенный ниже код и измените «myWorkspace» - имя вашего рабочего пространства, а «myWorkspaceTests» - имя вашей тестовой схемы

echo "Unit-Test are about to start: ? Started running myTests ?"

xcodebuild test -workspace <myWorkspace>.xcworkspace -scheme '<myWorkspaceTests>' -destination 'platform=iOS Simulator,name=iPhone X,OS=11.4'

enter image description here

0 голосов
/ 07 января 2020

Добавление цели модульного теста в схему Документация Apple

Прежде чем вы сможете добавить цель схемы в схему, убедитесь, что проект, если правильно настроен для юнит-тестирования. См. Настройка юнит-тестирования в проекте, чтобы узнать, как это сделать.

Чтобы добавить цель юнит-тестирования в схему:

  1. В меню панели инструментов Схема выберите схема, к которой вы хотите добавить объект модульного теста.

  2. В том же меню выберите «Редактировать схему».

  3. Выберите действие «Тест» .

  4. На информационной панели «Тестовое действие» нажмите кнопку «Добавить».

  5. Выберите цель для юнит-теста, которую вы хотите добавить в тест. действие и

...