Nase hat einen Fehler - Testnamen, die von Generatoren erstellt wurden, werden nicht zwischengespeichert Der Fehler scheint also im letzten Test aufgetreten zu sein, nicht im eigentlichen Test, in dem er fehlgeschlagen ist. Ich habe es nach der Lösung in der Fehlerbericht-Diskussion verstanden, aber es funktioniert nur für Namen, die auf stdout angezeigt werden, nicht im XML-Bericht (--with-xunit)
%Vor%Die Ausgabe von nose ist wie erwartet, etwa wie
%Vor%Aber die Testnamen in XML sind nur 'testGenerator'.
%Vor%Wie kann ich dies ändern, so dass die personalisierten Testnamen sowohl auf stdout als auch auf XML ausgegeben werden?
Ich benutze nosetests Version 1.1.2 und Python 2.6.6
Sie können die Art ändern, in der Nose Tests benennt, indem Sie ein Plugin hinzufügen , das den Befehl describeTest Sie müssen dann dieses Plugin installieren und es in der Nose aktivieren Aufruf.
Sie können die folgende Zeile hinzufügen.
testGenerator.__name__ = "nice test name %s" % i
Beispiel:
%Vor%Dies führt zu den gewünschten Namen.
%Vor%Wie Ananth erwähnt, können Sie dies verwenden.
%Vor%Sie können dies auch stattdessen verwenden
%Vor%Wenn Ihre Testklasse Argumente hat, würde ich ihnen empfehlen, sie zu curryen, sowie currying with_setup. Die Verwendung von Lambda spart beim Import, und ich denke, es ist ein bisschen sauberer. Zum Beispiel
%Vor%Tags und Links python unit-testing nose generator nosetests