Все ответы предполагают, что вы хотите запустить тестовые случаи из командной строки. Но если вы хотите запустить тесты программно, попробуйте следующее:import nose ; nose.runmodule() # aka nose.run(defaultTest=__name__)
MarkHu
1
ИМХО простое предложение «py.test --junitxml results.xml test.py» лучше всего отвечает на этот вопрос. 'yum install pytest', чтобы установить py.test. Затем вы можете запустить любой скрипт Python unittest и получить результаты jUnit xml
gaoithe
1
@gaoithe, который отвечает на часть jenkins, но не отвечает требованию использовать встроенный модуль unittest. В этом проекте это было заданное требование.
erikbwork
@ erikb85 Когда я говорю «запустить любой скрипт python unittest», я имею в виду скрипт, который использует модуль unittest.
Вам нужно будет использовать nose2.plugins.junitxmlплагин. Вы можете настроить nose2файл конфигурации, как обычно, или с помощью параметра --pluginкомандной строки.
+1 за простое предложение «py.test --junitxml results.xml test.py». 'yum install pytest', чтобы установить py.test. Затем вы можете запустить любой скрипт Python unittest и получить результаты jUnit xml.
gaoithe
1
Если вы хотите использовать unittest-xml-reports и воспользоваться функцией обнаружения тестов , вы можете поставить unittest.main(module=None, testRunner=xmlrunner.XMLTestRunner(output='test-reports')).
Росберг Линхарес
@RosbergLinhares, почему вам нужно module=Noneиспользовать Test Discovery? Работает именно так, как описано в ответе unittest.main(testRunner=xmlrunner.XMLTestRunner(output='test-reports')).
17
@RosbergLinhares, во время обнаружения теста модули только импортируются, но не выполняются. Итак, как любое из этих решений должно работать с открытием? Я только что попробовал, ничего из этого не работает. Или я что-то упустил?
Константин
20
Я бы второй, используя нос. Теперь встроены базовые отчеты XML. Просто используйте параметр командной строки --with-xunit, и он создаст файл nosetests.xml. Например:
тесты носа
Затем добавьте действие посткомпоновки «Опубликовать отчет о результатах теста JUnit» и заполните поле «XML отчета о тестировании» с помощью nosetests.xml (при условии, что вы запускали тесты в $ WORKSPACE).
При использовании buildout, который мы используем collective.xmltestreportдля создания XML-вывода в стиле JUnit, возможно, его исходный код или сам модуль могут помочь.
import nose ; nose.runmodule() # aka nose.run(defaultTest=__name__)
Ответы:
Образцы испытаний:
tests.py:
JUnit с pytest
запустить тесты с:
results.xml:
Юнит с носом
запустить тесты с:
nosetests.xml:
Юнит с носом2
Вам нужно будет использовать
nose2.plugins.junitxml
плагин. Вы можете настроитьnose2
файл конфигурации, как обычно, или с помощью параметра--plugin
командной строки.запустить тесты с:
nose2-junit.xml:
JUnit с unittest-xml-отчетов
Добавить следующее к
tests.py
запустить тесты с:
тест-отчеты / TEST-SimpleTest-20131001140629.xml:
источник
unittest.main(module=None, testRunner=xmlrunner.XMLTestRunner(output='test-reports'))
.module=None
использовать Test Discovery? Работает именно так, как описано в ответеunittest.main(testRunner=xmlrunner.XMLTestRunner(output='test-reports'))
.Я бы второй, используя нос. Теперь встроены базовые отчеты XML. Просто используйте параметр командной строки --with-xunit, и он создаст файл nosetests.xml. Например:
Затем добавьте действие посткомпоновки «Опубликовать отчет о результатах теста JUnit» и заполните поле «XML отчета о тестировании» с помощью nosetests.xml (при условии, что вы запускали тесты в $ WORKSPACE).
источник
Вы можете установить пакет unittest-xml-reports, чтобы добавить тестовый прогон, который генерирует XML для встроенного
unittest
.Мы используем pytest , в который встроен вывод XML (это опция командной строки).
В любом случае, выполнение модульных тестов может быть выполнено с помощью команды оболочки.
источник
Я использовал тесты на носу. Есть дополнения для вывода XML для Jenkins
источник
При использовании buildout, который мы используем
collective.xmltestreport
для создания XML-вывода в стиле JUnit, возможно, его исходный код или сам модуль могут помочь.источник
Запустите это как оболочку от jenkins, вы можете получить отчет в pytest_unit.xml как артефакт.
источник