¿Cómo se ejecuta nosetest de PyCharm?
-
30-09-2019 - |
Pregunta
¿Cómo se puede ejecutar nosetest de PyCharm para ejecutar todas las pruebas unitarias?
Sé que PyCharm soportes de pitón unittest y py.test y que van a soportar adecuadamente nosetests en PyCharm 1.1 pero me preguntaba si había un trabajo alrededor.
Solución
En la versión actual de PyCharm (2.6) no debe ser un menú de contexto "ejecutar nosetests en ..." en un archivo de prueba. Si esto no se encuentra, ir a file->settings->Project Settings->python integrated tools
y asegurar el defecto de prueba Runner es nosetests. Lo haces por supuesto necesidad de tener instalado nosetests - PyCharm ofrecerá este si no lo hace
Esto tiene una limitación. Si el archivo en cuestión no tiene una clase derivada de unittest.TestCase no se mostrará automáticamente este. Si está utilizando nose.tools o simples afirmaciones que no ofrecerá automáticamente este. Esto es probablemente un error.
Otros consejos
Si se puede vivir sin el corredor de prueba gráfica, simplemente puede crear una configuración de ejecución "script Python" y ejecute las pruebas a medida que los ejecuta desde la línea de comandos.
La única manera de obtener pruebas de la nariz que trabajan con el corredor de prueba gráfica, me temo, es hackear ayudantes / PyCharm / utrunner.py de la distribución PyCharm.
Esto es fácil de lograr ....
supongo que tienes la nariz ya instalado.
Y que sus miradas de proyectos como
\MyProj_Source
\MyProj
init.py
MyProj.py
necesidad de crear un Pruebas directorio (Sí, el nombre parece ser crítico). Y en que las pruebas carpeta ponemos nuestra archivo de prueba nariz. Así que la estructura de directorios es similar al siguiente.
\MyProj_Source
\MyProj
init.py
MyProj.py
\Tests
test_stuff.py
En este punto tienes que ir a
Preferencias> Herramientas -> Herramientas Python Intergrated ** y ** conjunto predeterminado de prueba Runner para ser la nariz
Ahora debería poder
manualmente
- Ejecutar test_stuff.py usando la nariz
- permitir la prueba automática para la MyProj.py archivo así que después de cualquier cambio se ejecutan las pruebas
La segunda manera es la mejor opción, pero puede ser un poco de tiempo.
Espero que ayude.