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 @wipdque establecerá el wipatributo en los objetos que decora. Por ejemplo:
import unittest
class Test(unittest.TestCase):
@wipd
def test_something(self):
pass
Luego -a wipse 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 @wipddel decorador en lugar de @wipevitar 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 importconvertirá al wipdecorador en miembro de la clase y se seleccionarán todas las pruebas de la clase. El attribcomplemento 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 attribno existen en un espacio segregado. Entonces, si prueba con -a fooy su clase contiene foo = "platypus", el complemento seleccionará todas las pruebas de la clase.