Ändern Sie die Namen von Tests, die von Nasentestgeneratoren erstellt wurden
Nase hat eineFehler - Von Generatoren erstellte Testnamen werden nicht zwischengespeichert. Der Fehler scheint also im letzten Test aufgetreten zu sein, nicht im eigentlichen Test, in dem er fehlgeschlagen ist. Ich bin dem nachgekommenLösung in der Fehlerberichtdiskussion, aber es funktioniert nur für Namen, die auf stdout angezeigt werden, nicht im XML-Bericht (--with-xunit)
from functools import partial, update_wrapper
def testGenerator():
for i in range(10):
func = partial(test)
# make decorator with_setup() work again
update_wrapper(func, test)
func.description = "nice test name %s" % i
yield func
def test():
pass
Die Ausgabe der Nase ist wie erwartet so etwas wie
nice test name 0 ... ok
nice test name 1 ... ok
nice test name 2 ... ok
...
Die Testnamen in XML sind jedoch nur 'testGenerator'.
...<testcase classname="example" name="testGenerator" time="0.000" />...
Wie kann ich dies ändern, damit die personalisierten Testnamen sowohl in der stdout- als auch in der XML-Ausgabe angezeigt werden?
Ich verwende Nosetests Version 1.1.2 und Python 2.6.6