Совместное использование django-nose и unittest-xml-reports - модульное тестирование
У нас есть проект django, который использует unittest-xml-reports для предоставления бамбуку XML-файлов о результатах теста. Мы хотели бы интегрировать django-nose для проверки покрытия кода. Но так как тесты Django требуют одного TEST_RUNNER
класс, я не вижу, как использовать параллельно обе функции (которые на самом деле не перекрываются):
для unittest-xml-отчетов
TEST_RUNNER = 'xmlrunner.extra.djangotestrunner.XMLTestRunner'
для носа
TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'
Я пытался проникнуть в код, но, кажется, грязно писать какой-то хак, чтобы объединить классы. Какие еще варианты остались?
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
]
Таким образом, вам не нужно работать с подклассами обоих Бегунов, что является единственным способом сделать это: создать пользовательский Бегун и объединить то, что может быть трудно достичь.