2013-10-09 3 views
9

Можно ли использовать Jenkins с XCTest?Могу ли я интегрировать Jenkins и XCTest

Существует сценарий ruby ​​(OCUnit2JUnit - https://github.com/ciryon/OCUnit2JUnit), который анализирует вывод OCUnit и создает XML-файлы, которые Jenskins может анализировать.

Есть ли что-то эквивалентное для обработки нового выхода XCTest?

Прямо сейчас, использование непрерывной интеграции Apple не является возможным.

+4

XCTool имеет поддержку XCTest и отличную историю в отношении интеграции Jenkins. – CodaFi

ответ

-1

Это то, что я бегу на моем проекте Дженкинс после установки ocunit2junit на моей машине построения:

xcodebuild test -scheme <my_scheme> -configuration Debug -sdk iphonesimulator7.0 -destination OS=7.0,name="iPhone Retina (4-inch)" | ocunit2junit 

Затем я добавил тест JUnit результата отчет Publish как действие после сборки. Сначала было немного flakey (только создание xml-файлов, когда не было никаких действий после сборки), но после запуска сборки непосредственно на моей машине сборки она работает.

+0

Спасибо за долю, но это не отвечает на вопрос ... – Jake

+0

А ты прав. Я неправильно понял вопрос. – Mark

+0

Хм, видимо, ocunit2junit теперь поддерживает XCTest? http://stackoverflow.com/a/23256836/797767 – Mark

1

Необходимо добавить фазу сборки сценария оболочки.

Сначала добавьте ocunit2junit камень в машине построения:

sudo gem install ocunit2junit 

Затем добавить скрипт фазы сборки и убедитесь, что вы находитесь в каталоге проекта при выполнении сценария:

xcodebuild -workspace yourWorkSpace.xcworkspace -scheme YourTestsScheme -configuration Debug clean test 2>&1 | ocunit2junit 

Затем добавьте публикацию результатов сборки JUnit post post к заданию Jenkins, настроенному на поиск вывода для ocunit2junit: **/test-reports/*. Xml

0

для меня это не сработает. также на странице приветствия Github Projekt XCTest не упоминается как поддерживаемый. Поэтому представляется, что это не поддерживается

3

Два варианта:

1) Труба ваш выход xcodebuild в xcpretty и использовать их Junit форматировщик. Тогда Дженкинс может опубликовать это.

B) использовать xctool вместо xcodebuild. Xctool имеет встроенный репортер Junit, который вы можете указать для тестов.

Мы сделали оба, и оба они отлично работают на Дженкинсе.

+0

@piiluke Я не могу запустить симулятор, используя jenkins. Как ты это сделал ? –

+0

Командная строка @HarishGupta xcodebuild имеет все необходимое для запуска тестов. Если вы просто хотите запустить сам симулятор (без какого-либо контекста), по какой-то причине просто запустите приложение либо с помощью сценария оболочки, либо с помощью AppleScript. – plluke

+0

Спасибо за ответ !! Мои тестовые примеры - это тестовый пример UI, который требует запуска симулятора.Поэтому, когда jenkins выполняют тестовый пример, сначала нужно запустить симулятор. –

0

Я написал инструмент, который анализирует файл pls TestSummaries из папки Logs/Test и генерирует XML-файл отчета JUnit: (https://github.com/nacuteodor/ProcessTestSummaries). Сгенерированный отчет должен быть более точным, чем xcpretty.

Смежные вопросы