Как запустить подмножество тестов OCUnit в XCode - PullRequest
3 голосов
/ 30 августа 2009

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

Ответы [ 3 ]

3 голосов
/ 30 августа 2009

Если вы счастливы ограничить тестирование одним классом тестирования, простой вариант - создать вторую цель тестирования (дублировать существующую цель, изменить имя продукта и удалить содержимое фазы сборки «Compile Sources», если хотите) и добавьте в него только тестовый исходный файл, который вы пытаетесь исправить.

В качестве альтернативы, вы можете использовать опцию «Другие тестовые флаги», чтобы передать -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>

Более подробная информация об использовании этого метода здесь .

2 голосов
/ 31 августа 2009

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

http://github.com/nall/XcodeUnitTestGUI/tree/master

После того, как я начал проект выше, я нашел этот проект действительно фантастическим.

http://github.com/gabriel/gh-unit

1 голос
/ 22 мая 2013

Для новых читателей: намного лучший способ, теперь доступный в XCode, состоит в том, чтобы отредактировать схему для цели, которая будет проверена, и выбрать «Тест» в левой колонке панели схемы.Используйте виджеты в столбце «Тесты» для расширения целей и комплектов.Вы можете отключить / включить тесты для каждой цели теста, для набора или для каждого теста, используя флажки справа

...