У меня есть набор модульных тестов, которые я использую перед регистрацией своего проекта. Однако очень часто бывает так, что только один из них обнаруживает некоторую регрессию в коде. В этих случаях я хотел бы запускать только этот конкретный модульный тест при отладке сбоя. Я не нашел способа сделать это в Xcode. Является ли это возможным?
Как запустить подмножество тестов OCUnit в Xcode
Ответы (3)
Если вы довольны ограничением тестирования одним тестовым классом, простой вариант — создать вторую тестовую цель (дублировать существующую цель, изменить имя продукта и удалить содержимое этапа сборки «Компилировать исходные коды», если хотите). ) и добавьте к нему только тестовый исходный файл, который вы пытаетесь исправить.
Кроме того, вы можете использовать параметр «Другие тестовые флаги», чтобы передать аргумент -SenTest
otest
, запускающему тест:
% /Developer/Tools/otest
2009-08-29 22:28:39.555 otest[70089:10b] Usage: otest [-SenTest Self | All | None |
<TestCaseClassName/testMethodName>] <path of unit to be tested>
Подробнее об использовании этого метода можно узнать здесь.
Спасибо за этот толчок в правильном направлении. Я закончил использовать ту же базовую концепцию, но добавил графический интерфейс, который позволяет вам выбирать, что запускать, а также получать хороший красный/зеленый статус для каждого теста. Если кому-то интересно, код находится по ссылке ниже. Пользовательский интерфейс нуждается в дополнительной обработке, но, похоже, он работает.
http://github.com/nall/XcodeUnitTestGUI/tree/master
После того, как я начал проект выше, я нашел этот проект, который действительно фантастический.
http://github.com/gabriel/gh-unit
Для новых читателей: теперь в Xcode доступен гораздо лучший способ — отредактировать схему для тестируемой цели и выбрать «Тест» в левом столбце панели схемы. Используйте виджеты в столбце «Тесты», чтобы расширить цели и наборы. Вы можете отключить/включить тесты для каждой тестовой цели, для каждого набора или для каждого теста, используя флажки справа.