Сборка не помечается как нестабильная при неудачном модульном тестировании - PullRequest
2 голосов
/ 16 сентября 2009

Я добавил новую работу на мой сервер hudson, который создает проект с помощью make-файла.

Выполнить команду оболочки:

#!/bin/bash
cd $JOB_NAME
make

Мой make-файл выглядит так

SDK_31 = iphonesimulator3.1
TARGET_DEV = myProject
TARGET_TEST = unitTest

all: debug
debug:
        xcodebuild -sdk ${SDK_31} -target "${TARGET_DEV}" -configuration Debug
        xcodebuild -sdk ${SDK_31} -target "${TARGET_TEST}" -configuration Debug

clean:
        xcodebuild -alltargets clean
        rm -rf build

Но когда hudson собирает проекты, некоторые модульные тесты не выполняются, но сборка помечается как успешная.

Что я должен сделать, чтобы иметь "нестабильный проект"?

С уважением,

Ответы [ 2 ]

2 голосов
/ 16 сентября 2009

Вы должны настроить Hudson на запись результатов модульных тестов, включив действие «Опубликовать отчет о результатах теста Junit» после сборки.

действия после сборки http://img141.imageshack.us/img141/5136/hudsonjunit.png


Обновление : Если вы не можете получить вывод JUnit XML, вы можете использовать плагин Text-finder , чтобы изменить статус сборки:

Этот плагин позволяет вам искать ключевые слова в указанных вами файлах и использовать их для пометки сборки как успешной или неудачной.

1 голос
/ 15 сентября 2010

Я нашел этот удобный скрипт ruby ​​Кристиана Хедина, который преобразует выходные данные тестов OCUnit (формат, используемый Xcode) в файлы JUnit xml (формат, используемый Хадсоном).

Вы можете получить скрипт на github: http://github.com/ciryon/OCUnit2JUnit

и для объяснения того, как его использовать, вот его пост в блоге об этом: http://blog.jayway.com/2010/01/31/continuos-integration-for-xcode-projects/

По сути, вы отправляете xcodebuild в ocunit2junit.rb с помощью команды, подобной этой:

/usr/bin/xcodebuild -target UnitTests | /usr/local/bin/ocunit2junit.rb

и помещает XML-файлы в папку с отчетами о тестах, которую создает в корне папки вашего проекта. Затем попросите Хадсона скопировать артефакты test-reports/*.xml в качестве результатов JUnit, и все готово.

Эта настройка позволит Hudson правильно определить, прошел ли модульный тест или не прошел, и правильно пометить стабильность сборки.

Я использую его уже месяц, и он прекрасно работает. Настройка была очень простой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...