Могу ли я интегрировать Jenkins и XCTest

Можно ли использовать Jenkins с XCTest?

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

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

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

5 ответов

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

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

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

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

Вам необходимо добавить этап сборки сценария оболочки.

Сначала добавьте гем ocunit2junit на сборочную машину:

sudo gem install ocunit2junit

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

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

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

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

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

Вот что я запускаю в своем проекте Jenkins после установки ocunit2junit на мою сборочную машину:

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

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

Другие вопросы по тегам