python - ¿Cómo se ejecuta más nosotras de pycharm?
unit-testing nose (3)
¿Cómo se ejecuta el test de pycharm para ejecutar todas las pruebas unitarias?
Sé que pycharm es compatible con pyton''s unittest y py.test y que respaldarán adecuadamente las muestras de pycharm 1.1, pero me preguntaba si habría algún problema.
Esto es fácil de lograr ...
Supongo que ya tienes la nariz instalada.
Y que tu proyecto parezca
/MyProj_Source
/MyProj
init.py
MyProj.py
Necesitamos crear un directorio de Pruebas (Sí, el nombre parece ser crítico). Y en esa carpeta de Pruebas colocamos nuestro archivo de prueba de nariz. Así que la estructura del Directorio se ve así.
/MyProj_Source
/MyProj
init.py
MyProj.py
/Tests
test_stuff.py
En este punto tienes que ir a
Preferencias-> Herramientas -> Herramientas integradas de Python ** y establecer ** Corredor de prueba predeterminado para ser nariz
Ahora deberías poder
A mano
- Ejecutar test_stuff.py usando la nariz
- Habilite la prueba automática para el archivo MyProj.py, así que después de cualquier cambio, se ejecutan las pruebas
La segunda forma es la mejor opción, pero puede llevar un poco de tiempo.
Espero que ayude.
Si puede vivir sin el corredor de prueba gráfico, puede simplemente crear una configuración de ejecución de "Script Python" y ejecutar las pruebas a medida que las ejecuta desde la línea de comandos.
Me temo que la única forma de que las pruebas de nariz funcionen con el corredor de pruebas gráficas es hackear helpers / pycharm / utrunner.py de la distribución de PyCharm.
En la versión actual de Pycharm (2.6) debería haber un menú de contexto "ejecutar Nosetests in ..." en un archivo de prueba. Si falta esto, vaya a file->settings->Project Settings->python integrated tools
y asegúrese de que el Test Runner predeterminado sea Nosetests. Por supuesto, debe tener instalado Nosetests - pycharm ofrecerá esto 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. Si está utilizando nose.tools o simples afirmaciones, no se ofrecerá automáticamente. Este es probablemente un error.