Как да стартирам подмножество от OCUnit тестове в Xcode

Имам набор от модулни тестове, които използвам, преди да проверя проекта си. Въпреки това, много често се случва само един от тях да открие някаква регресия в кода. В тези случаи бих искал да стартирам само този конкретен тест на единица, докато отстранявам грешката. Не намерих никакъв начин да направя това в Xcode. Възможно ли е?


person nall    schedule 30.08.2009    source източник


Отговори (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>

Повече информация относно използването на този метод е тук.

person Nicholas Riley    schedule 30.08.2009

Благодаря за този тласък в правилната посока. Приключих с използването на същата основна концепция, но добавих GUI, който ви позволява да изберете какво да се изпълнява, както и да получите хубав червен/зелен статус за всеки тест. Ако някой се интересува, кодът е на URL адреса по-долу. Потребителският интерфейс се нуждае от повече плюене и полиране, но изглежда, че работи.

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

След като започнах проекта по-горе, намерих този проект, който е наистина фантастичен.

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

person nall    schedule 30.08.2009

За нови читатели: Много по-добър начин, който вече е наличен в Xcode, е да редактирате схемата за целта, която ще се тества, и да изберете „Тест“ в лявата колона на панела на схемата. Използвайте приспособленията в колоната Тестове, за да разширите цели и пакети. Можете да деактивирате/активирате тестове за цел за тест, за пакет или за база на тест, като използвате квадратчетата за отметка вдясно

person Martin Lockett    schedule 22.05.2013