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