python pycharm py.test

python - ¿Cómo configuro PyCharm para ejecutar las pruebas de py.test?



(6)

Con una configuración especial de python Conda que incluía la instalación de pip para py.test más el uso del complemento Specs (opción - spec) (para Rspec como buen lenguaje de resumen de prueba), tuve que hacer;

1.Edite la opción predeterminada py.test para incluir option = - spec, lo que significa usar el complemento: https://github.com/pchomik/pytest-spec

2. Cree una nueva configuración de prueba, usando py.test. Cambie su intérprete de python para usar ~ / anaconda / envs / su elección de intérpretes, por ejemplo, py27 para mis nombres.

3. Borre la configuración de la prueba ''unittest''.

4. Ahora la configuración de prueba predeterminada es py.test con mis encantadores resultados de estilo Rspec. ¡Lo amo! ¡Gracias a todos!

El documento de ps Jetbrains sobre las configuraciones de ejecución / depuración está aquí: https://www.jetbrains.com/help/pycharm/2016.1/run-debug-configuration-py-test.html?search=py.test

Quiero comenzar a escribir pruebas unitarias para mi código Python, y el framework py.test suena como una mejor apuesta que la prueba unitaria de Python. Así que agregué un directorio de "pruebas" a mi proyecto y agregué test_sample.py a él. Ahora quiero configurar PyCharm para ejecutar todas las pruebas en mi directorio de "pruebas".

PyCharm supuestamente admite py.test en su versión de prueba. Se supone que debes poder crear una configuración de ejecución / depuración para ejecutar tus pruebas, y PyCharm supuestamente tiene un cuadro de diálogo "crear configuración" específicamente para py.test . Pero esa es toda la extensión de su documentación sobre el tema, y ​​no puedo encontrar este supuesto cuadro de diálogo en ningún lado.

Si hago clic derecho en el directorio en la ventana de la herramienta Proyecto, se supone que debo ver un elemento de menú "Crear <nombre>", pero el único elemento de menú que comienza con "Crear" es "Crear configuración de ejecución". De acuerdo, tal vez la documentación sea incorrecta, y "Crear configuración de ejecución" suena prometedor. Desafortunadamente, los únicos dos elementos en su submenú son "Unittest en C: / mypath ..." y "Doctest en C: / mypath ...", ninguno de los cuales se aplica: no estoy usando ni unittest ni doctest. No hay ningún elemento de menú para py.test.

Si abro mi test_sample.py y hago clic con el botón secundario en la ventana del editor, obtengo los prometidos elementos de menú "Crear <nombre>": hay "Crear" Unittests en test_sa ...''... ", seguido de" Run " ''Unittests in test_sa ...'' "y" Debug ''Unittests en test_sa ...'' ". Entonces, de nuevo, es todo específico para el marco de prueba unitario; nada para py.test.

Si pruebo los elementos del menú que dicen "unittest", aparece un cuadro de diálogo con opciones para "Nombre", "Tipo", un cuadro de grupo "Pruebas" con "Carpeta" y "Patrón" y "Guión" y "Clase" "y" Función ", etc. Esto suena exactamente como lo que está documentado como el cuadro de diálogo para agregar una configuración para Prueba de unidad Python , y no como las opciones" Nombre "y" Prueba para ejecutar "y" Palabras clave "que se supone que aparecen en la configuración para el diálogo de py.test No hay nada dentro del diálogo para cambiar qué marco de prueba estoy agregando.

Estoy usando PyCharm 1.5.2 en Windows con Python 3.1.3 y Pytest 2.0.3. Puedo ejecutar con éxito py.test en mis pruebas desde la línea de comandos, por lo que no es algo simple como que pytest no se haya instalado correctamente.

¿Cómo configuro PyCharm para ejecutar mis pruebas py.test?


Creo que necesita usar el elemento Ejecutar / Depurar configuración en la barra de herramientas. Haga clic en él y en ''Editar configuraciones'' (o alternativamente use la opción de menú Ejecutar-> Editar configuraciones). En la sección "Valores predeterminados" en el panel izquierdo, hay un elemento "py.test" que creo que es lo que quieres.

También encontré que el manual no coincidía con la IU para esto. Espero haber entendido el problema correctamente y eso ayuda.


Está mal documentado para estar seguro. Una vez que obtenga agregar una nueva configuración de los valores predeterminados, estará en el reino de ejecutar el script "/ Aplicaciones / PyCharm CE.app/Contents/helpers/pycharm/pytestrunner.py". No está documentado y tiene sus propias ideas de argumentos de línea de comando.

Usted puede:

  1. Intente jugar, invierta el guión y vea si de alguna manera puede obtener py.test para aceptar argumentos. Podría funcionar; no fue en la primera media hora para mí.
  2. Simplemente ejecute "py.test * .py" desde una consola.

Curiosamente, le resultará difícil encontrar cualquier discusión ya que JetBrains hace un buen trabajo bombardeando los algoritmos de Google con sus propias páginas.


PyCharm 2017.3

  1. Preference -> Tools -> Python integrated Tools - Elija py.test como py.test Default test runner .
  2. Si usa Preference -> Languages&Frameworks -> Django Django Preference -> Languages&Frameworks -> Django - Ponga la marca de verificación en Do not use Django Test runner
  3. Borre todas las pruebas ejecutadas anteriores de la Run/Debug configuration , de lo contrario las pruebas se ejecutarán con esas configuraciones.
  4. Para establecer algunos argumentos adicionales predeterminados, actualice la configuración predeterminada de py.test. Run/Debug Configuration -> Defaults -> Python tests -> py.test -> Additional Arguments

Vaya a Archivo | Configuración | Herramientas | Python Integrated Tools y cambia el corredor de prueba predeterminado a py.test. Luego obtendrá la opción py.test para crear pruebas en lugar de la prueba unittest.


encuentre este hilo cuando responda a la misma pregunta y encuentre la solución pycharm version: 2017.1.2 vaya a "Preferencias" -> "Herramientas" -> "Herramientas integradas de Python" y configure el corredor de prueba predeterminado desde el panel lateral derecho como py.test resolver mi problema