Alterar nomes de testes criados por geradores de teste de nariz
Nariz tem umerro - nomes de teste criados por geradores não são armazenados em cache, então o erro parece ter acontecido no último teste, não no teste real em que ele falhou. Eu tenho em torno dele seguindo osolução na discussão do relatório de erros, mas só funciona para nomes mostrados no stdout, não no relatório 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
A saída do nariz é como esperado, algo como
nice test name 0 ... ok
nice test name 1 ... ok
nice test name 2 ... ok
...
Mas os nomes de teste em XML são apenas 'testGenerator'.
...<testcase classname="example" name="testGenerator" time="0.000" />...
Como posso alterar isso para que os nomes de teste personalizados sejam exibidos nas saídas stdout e XML?
Estou usando nosetests versão 1.1.2 e Python 2.6.6