Zmień nazwy testów utworzonych przez generatory testów nosowych

Nos mapluskwa - nazwy testów utworzone przez generatory nie są buforowane, więc błąd wygląda tak, jak w ostatnim teście, a nie w teście, w którym się nie powiodło. Rozejrzałem się po nimrozwiązanie w dyskusji o raporcie o błędzie, ale działa tylko dla nazw wyświetlanych na stdout, a nie w raporcie XML (--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

Wydajność nosa jest zgodna z oczekiwaniami

nice test name 0 ... ok
nice test name 1 ... ok
nice test name 2 ... ok
...

Ale nazwy testów w XML są po prostu „testGenerator”.

...<testcase classname="example" name="testGenerator" time="0.000" />...

Jak mogę to zmienić, aby spersonalizowane nazwy testów były wyświetlane zarówno na wyjściu standardowym, jak i na wyjściu XML?

Używam nosetests w wersji 1.1.2 i Python 2.6.6

questionAnswers(4)

yourAnswerToTheQuestion