2016-04-04 10 views
0

Wir haben ein Django-Projekt, das unittest-xml-reporting verwenden, um Bambus mit Xml-Dateien über die Testergebnisse zu liefern. Wir möchten django-nose integrieren, um die Codeabdeckung zu testen. Aber da django Tests eine einzelne TEST_RUNNER Klasse erfordern, so sehe ich nicht, wie parallel verwenden beide Funktionalitäten (die sich überlappen eigentlich nicht wichtig):Mit Django-Nase und Unittest-Xml-Reporting zusammen - Unit-Test

für Unittest-xml-Berichterstattung

TEST_RUNNER = 'xmlrunner.extra.djangotestrunner.XMLTestRunner' 

für django -Nase

TEST_RUNNER = 'django_nose.NoseTestSuiteRunner' 

ich habe versucht, in den Code zu bekommen, aber es scheint chaotisch irgendeine Art von Hack zu schreiben zusammen, um die Klassen zu verbinden. Welche anderen Optionen sind noch übrig?

Antwort

1

Warum nicht einfach django-nose verwenden, um xjunit XML zu generieren? Fügen Sie einfach die folgenden Zeilen:

TEST_RUNNER = 'django_nose.NoseTestSuiteRunner' 

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

Auf diese Weise müssen Sie beiden Läufer nicht funktionieren mit Subklassen, was der einzige Weg, zu tun ist: ein benutzerdefinierten Runner zu schaffen und beide verschmelzen, was schwierig sein kann, zu erreichen.

+0

Tatsächlich endete ich mit py.test, die Junitxml und Code-Coverage bietet. Vielen Dank für deine Antwort. –

+0

Django-Nase integriert auch Abdeckung, aber ja py.test ist eine Alternative – danigosa