Especificar nombres en la línea de comando como sugieren las otras respuestas funciona y es útil. Sin embargo, cuando estoy escribiendo pruebas, a menudo encuentro que quiero ejecutar solo la prueba en la que estoy trabajando, y los nombres que tendría que escribir en la línea de comandos se vuelven bastante largos y engorrosos de escribir. . En tal caso, prefiero usar un decorador y una bandera personalizados.
Defino wipd
("decorador de trabajo en progreso") así:
from nose.plugins.attrib import attr
def wipd(f):
return attr('wip')(f)
Esto define un decorador @wipd
que establecerá el wip
atributo en los objetos que decora. Por ejemplo:
import unittest
class Test(unittest.TestCase):
@wipd
def test_something(self):
pass
Luego -a wip
se puede usar en la línea de comando para limitar la ejecución de la prueba a las marcadas con @wipd
.
Nota sobre los nombres ...
Estoy usando el nombre @wipd
del decorador en lugar de @wip
evitar este tipo de problema:
import unittest
class Test(unittest.TestCase):
from mymodule import wip
@wip
def test_something(self):
pass
def test_something_else(self):
pass
El decorador import
convertirá al wip
decorador en miembro de la clase y se seleccionarán todas las pruebas de la clase. El attrib
complemento verifica la clase principal de un método de prueba para ver si el atributo seleccionado también existe allí, y los atributos que se crean y prueban attrib
no existen en un espacio segregado. Entonces, si prueba con -a foo
y su clase contiene foo = "platypus"
, el complemento seleccionará todas las pruebas de la clase.