Ä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

Antworten auf die Frage(4)

Ihre Antwort auf die Frage