Я нашел инструмент командной строки под названием "xctest", который, по-видимому, может запускать модульные тесты в вашем проекте. Этот исполняемый файл живет здесь:
/Applications/Xcode.app/Contents/Developer/usr/bin/xctest
Когда я пытаюсь запустить этот исполняемый файл в моем xctest пакете, я использую:
$ ./xctest /Users/myusername/Library/Developer/Xcode/DerivedData/MyApp-abcdefghijklmnop/Build/Products/Debug/MyAppTests.xctest
Однако я получаю следующий вывод:
Test Suite '(null)' started at 2013-11-14 21:16:45 +0000
Test Suite '(null)' finished at 2013-11-14 21:16:45 +0000.
Executed 0 tests, with 0 failures (0 unexpected) in 0.000 (0.001) seconds
Нет никакой страницы man для xctest, насколько я могу судить, но ввод только. /xctest в командной строке дает:
Usage: xctest [--test Self | All | None | <TestCaseClassName/testMethodName>] <path of unit to be tested>
В частности, я хотел бы иметь возможность протестировать только определенный метод в тестовом классе, поэтому я бы хотел использовать эту команду xctest.
Я вижу, что есть способ запустить все тесты из командной строки, например:
$ xcodebuild test -scheme MyApp
Выполняет все модульные тесты и работает правильно (я вижу результаты unit test, в отличие от использования xctest). Но я заинтересован в возможности запуска одного тестового метода из командной строки, например:
$ ./xctest --test MyAppTests/testExample /Users/myusername/Library/Developer/Xcode/DerivedData/MyApp-abcdefghijklmnop/Build/Products/Debug/MyAppTests.xctest