Nos ma bug - nazwy testowe utworzone przez generatory nie są buforowane, więc błąd wygląda tak, jak miało to miejsce w ostatnim teście, a nie faktyczny test, w którym nie powiodło się. Mam wokół niego po solution w dyskusji raportu błędów, ale działa tylko dla nazw pokazanych na standardowe wyjście, a nie w raporcie XML (--with-xUnit)Zmiana nazw testów utworzonych przez generatory testu nosa
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
Wyjście z nosa jest zgodnie z oczekiwaniami, coś takiego jak
nice test name 0 ... ok
nice test name 1 ... ok
nice test name 2 ... ok
...
Ale nazwy testowe w XML są po prostu "testGenerator".
...<testcase classname="example" name="testGenerator" time="0.000" />...
Jak mogę to zmienić tak, że indywidualne nazwy testów przedstawiono zarówno stdout i XML wyjście?
używam wersji 1.1.2 i nosetests Python 2.6.6
Zmiana 'func .__ name__' lub 'func .__ doc__' nie działa. –
A co z tworzeniem zestawu testów? – Apalala
@Apalala dzięki, wydaje się, że to może rozwiązać. Chociaż nie mogę znaleźć żadnych informacji o tym, jak używać tego w nosie i jak miesza się z odkryciem testu nosa. Czy mógłbyś podać przykład? –