Tengo un archivo llamado test_web.py que contiene una clase TestWeb y muchos métodos llamados test_something ().
Puedo ejecutar todas las pruebas en la clase así:
$ nosetests test_web.py
...
======================================================================
FAIL: checkout test
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/me/path/here/test_web.py", line 187, in test_checkout
...
Pero parece que no puedo ejecutar pruebas individuales. Estos me dan errores de "No existe tal prueba" cuando se ejecutan en la misma PWD:
$ nosetests test_web.py:test_checkout
$ nosetests TestWeb:test_checkout
¿Qué podría estar mal aquí?
Respuestas:
Debe especificarlo así:,
nosetests <file>:<Test_Case>.<test_method>
oVer los documentos
fuente
También puede especificar un módulo:
fuente
nosetests
o qué, pero esa sintaxis falla. Lo que hace el trabajo, sin embargo, es:nosetests tests/test_integration:IntegrationTests.test_user_search_returns_users
, que significa - como archivos de referencia de archivos, no módulos de Python, utilizando/
en lugar de.
tests
no es un módulo en su configuración?__init__.py
en eltests
directorio. ¡Bien hecho! GraciasEspecificar 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í:Esto define un decorador
@wipd
que establecerá elwip
atributo en los objetos que decora. Por ejemplo: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:El decorador
import
convertirá alwip
decorador en miembro de la clase y se seleccionarán todas las pruebas de la clase. Elattrib
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 pruebanattrib
no existen en un espacio segregado. Entonces, si prueba con-a foo
y su clase contienefoo = "platypus"
, el complemento seleccionará todas las pruebas de la clase.fuente
Para ejecutar varias pruebas específicas, puede agregarlas a la línea de comando, separadas por un espacio.
fuente
En mis pruebas, especificar pruebas con nombres de módulo no funciona
Debe especificar la ruta real a
.py
:Esto con
nose==1.3.7
fuente
Mi requisito era ejecutar una sola prueba en un archivo de prueba que estaba en otro directorio de Windows ; esto se hizo desde el símbolo del sistema de anaconda de la siguiente manera:
realizó pruebas de nariz de:
pero test_MyTestFile.py y methodsFile.py estaban en:
Ejecute una prueba única incluyendo la ruta con comillas de la siguiente manera:
test_MyTestFile.py tenía este aspecto:
MethodFile.py se veía así:
fuente