Совместное использование django-nose и unittest-xml-reporting — модульное тестирование

У нас есть проект django, который использует unittest-xml-reporting для предоставления бамбуку XML файлы о результатах тестирования. Мы хотели бы интегрировать django-nose для проверки покрытия кода. Но поскольку для тестов django требуется один класс TEST_RUNNER, я не вижу, как использовать параллельно обе функции (которые на самом деле не пересекаются):

для unittest-xml-отчетов

TEST_RUNNER = 'xmlrunner.extra.djangotestrunner.XMLTestRunner'

для джанго-носа

TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'

Я пытался проникнуть в код, но мне кажется грязным писать какой-то хак, чтобы объединить классы. Какие еще варианты остались?


person Andras Gyomrey    schedule 04.04.2016    source источник


Ответы (1)


Почему бы не использовать просто django-nose для генерации xjunit XML? Просто добавьте эти строки:

TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'

NOSE_ARGS = [
    '--verbosity=2',  # verbose output
    '--with-xunit',  # enable XUnit plugin
    '--xunit-file=xunittest.xml',  # the XUnit report file
]

Таким образом, вам не нужно работать с подклассами обоих бегунов, что является единственным способом сделать: создать собственный бегун и объединить оба, чего может быть трудно достичь.

person danius    schedule 02.09.2016
comment
На самом деле я использовал py.test, который обеспечивает junitxml и покрытие кода. Большое спасибо за ответ. - person Andras Gyomrey; 02.09.2016
comment
django-nose также интегрирует покрытие, но да, py.test является альтернативой - person danius; 05.09.2016