Cambiar nombres de pruebas creadas por generadores de pruebas de nariz.
La nariz tiene uninsecto - los nombres de prueba creados por los generadores no se almacenan en la memoria caché, por lo que parece que el error ocurrió en la última prueba, no en la prueba real donde falló. Lo resolví siguiendo elsolución en la discusión del informe de errores, pero solo funciona para los nombres que se muestran en la salida estándar, no en el informe 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
La salida de la nariz es la esperada, algo así como
nice test name 0 ... ok
nice test name 1 ... ok
nice test name 2 ... ok
...
Pero los nombres de prueba en XML son solo 'testGenerator'.
...<testcase classname="example" name="testGenerator" time="0.000" />...
¿Cómo puedo cambiar esto para que los nombres de prueba personalizados se muestren tanto en la salida estándar como en la salida XML?
Estoy usando la versión 1.1.2 de nosetests y Python 2.6.6