Можно ли запускать отдельные тестовые случаи/тестовые классы в командной строке с помощью xcode 5?


Я могу запустить все модульные тесты, используя следующую команду:

xcodebuild test -workspace Project.xcworkspace -scheme Scheme -sdk iphonesimulator7.0 -destination platform='iOS Simulator',OS=7.0,name='iPhone Retina (4-inch)'

Есть ли что-нибудь, что я могу передать этому, чтобы запустить отдельные модульные тесты/классы таким же образом, как вы можете использовать пользовательский интерфейс Xcode?

Ура.

4 10

4 ответа:

Насколько мне известно, нет, и на главной странице тоже. Но у вас есть такая опция в отличном xctool (-only SomeTestTarget:SomeTestClass/testSomeMethod).

Для тех, кто использует более поздние версии Xcode (8.0+) и может столкнуться с этим сообщением в будущем (как и я), это теперь возможно с помощью флага -only-testing, который задокументирован в man-странице для xcodebuild. Формат использования флага следующий:

xcodebuild \
    -destination "$DEST" \
    -workspace "$WRKSP" \
    -scheme "$SCHEME" \
    -only-testing:Target/Class/Method test

Вы также можете опустить элементы из пути после флага -only-testing, например -only-testing:Scheme/Class будет выполнять все эти тесты в этом классе.

Вот связанный с Stackoverflow вопрос, касающийся новой функциональности: Как использовать xcodebuild с флагом-только-тестирование и-пропустить-тестирование?

Другой способ заключается в редактировании схемы вашего тестового файла и отключении / включении тестов по своему усмотрению. Затем вы можете повторно запустить ту же команду через CLI, и она будет выполнять только тесты, указанные выше.

Введите описание изображения здесь

Если вы используете Kiwi, вы должны предположительно быть в состоянии сделать это с помощью переменной окружения KW_SPEC. Я не смог, хотя: Запуск одной спецификации KIWI с xctool .