Сконфигурируйте скрипты "execute shell" в Hudson с Python - PullRequest
1 голос
/ 12 ноября 2009

Я использую Hudson для непрерывной интеграции в наш проект. Мы используем тесты Python, Git и Nous для модульного тестирования. Что мне нужно, так это чтобы Хадсон выполнял тесты на нос после каждой сборки. Для этого я добавил следующие скрипты оболочки в секцию execute shell.

$ nosetests /sub/test_sample1.py
$ nosetests /sub/test_sample2.py
$ nosetests /sub/test_sample3.py

...

Хадсон правильно выполняет эти сценарии. Но проблема в том, что если здесь произойдет сбой любого из тестовых сценариев, он не будет запускать другие сценарии рядом с ним. Останавливается после первой ошибки. Я хочу, чтобы он продолжал выполнять все контрольные примеры. Как я могу это сделать?

Ответы [ 2 ]

1 голос
/ 18 апреля 2013

Я бы воспользовался способностью Носа найти тесты и запустить их вместо этого.

Переименуйте ваши тестовые файлы во что-то вроде sub / sample1_test.py, sub / sample2_test.py и т. Д., А затемпросто запустите

nosetests sub/

Нос будет искать файлы, оканчивающиеся на _test, и запускать их.Очень кстати.См. Носовую документацию на « поиск тестов ».

Если неясно, будет ли «Нос», когда он найдет все тесты, запустите все из них,Это удерживает вас от неудачи до того, как все тесты будут запущены, но вы потерпите неудачу, если какой-либо из них не пройдет.

0 голосов
/ 25 августа 2010

Для моего собственного проекта я написал фабричные файлы python, которые управляют всем модульным тестированием. Так как я использую django, у меня есть django, соединяющийся с носом и покрытием.

Вот моя часть моих сценариев:

local('%(local_virtual_env)s/Scripts/activate.bat'
      ' & cd %(local_project_path)s/configs/common'
      ' & python manage.py test test1 ' 
      '--settings=myprofile.configs.local.settings_local '
      '--with-coverage --with-xunit --with-xcoverage '
      '--cover-tests --cover-erase --cover-inclusive '
      '--cover-package=myprofile.apps' % env,
      capture=False)
...