InglésFrancésEspañol

icono de página de OnWorks

py.test: en línea en la nube

Ejecute py.test en el proveedor de alojamiento gratuito de OnWorks sobre Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS

Este es el comando py.test que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.

PROGRAMA:

NOMBRE


pytest - uso de pytest

LLAMAR PY.PRUEBA MEDIANTE PYTHON -M PY.PRUEBA


Nuevo en la versión 2.0.

Si usa Python-2.5 o posterior, puede invocar las pruebas a través del intérprete de Python desde
la línea de comando:

python -m pytest [...]

Esto es equivalente a invocar la secuencia de comandos de la línea de comandos. py.prueba [...] .

CONSIGUIENDO AYUDA ON VERSIÓN, OPCIÓN NOMBRES, MEDIO AMBIENTE VARIABLES


py.test --version # muestra de dónde se importó pytest
py.test --fixtures # muestra los argumentos de la función incorporada disponibles
py.test -h | --help # muestra la ayuda en la línea de comandos y las opciones del archivo de configuración

PARADA DESPUÉS DE EL PRIMERO (O N) Fracasos


Para detener el proceso de prueba después de las primeras (N) fallas:

py.test -x # detener después de la primera falla
py.test --maxfail = 2 # detener después de dos fallas

ESPECIFICANDO TESTS / SELECCIONANDO TESTS


Varias opciones de ejecución de prueba:

py.test test_mod.py # ejecutar pruebas en el módulo
py.test somepath # ejecutar todas las pruebas debajo de somepath
py.test -k stringexpr # solo ejecuta pruebas con nombres que coinciden
# "expresión de cadena", por ejemplo, "MyClass y no método"
# seleccionará TestMyClass.test_something
# pero no TestMyClass.test_method_simple
py.test test_mod.py::test_func # solo ejecuta pruebas que coinciden con el "ID de nodo",
# por ejemplo, "test_mod.py::test_func" seleccionará
# solo test_func en test_mod.py
py.test test_mod.py::TestClass::test_method # ejecutar un solo método en
# una sola clase

Importe 'pkg' y use la ubicación de su sistema de archivos para buscar y ejecutar pruebas:

py.test --pyargs pkg # ejecuta todas las pruebas que se encuentran debajo del directorio de pypkg

MODIFICAR PYTHON RASTREAR IMPRESIÓN


Ejemplos para modificar la impresión de rastreo:

py.test --showlocals # muestra las variables locales en los rastreos
py.test -l # muestra variables locales (atajo)

py.test --tb = long # el formato de seguimiento informativo predeterminado
py.test --tb = native # el formato de biblioteca estándar de Python
py.test --tb = short # un formato de rastreo más corto
py.test --tb = line # solo una línea por falla

GOTEANTE A AP (PITÓN DEPURADOR) ON Fracasos


Python viene con un depurador de Python incorporado llamado AP. pytest permite a uno caer en
los AP mensaje a través de una opción de línea de comando:

py.prueba --pdb

Esto invocará al depurador de Python en cada falla. A menudo es posible que solo quieras hacer
esto para la primera prueba fallida para comprender una determinada situación de falla:

py.test -x --pdb # caiga a PDB en la primera falla, luego finalice la sesión de prueba
py.test --pdb --maxfail = 3 # pasar a PDB para los primeros tres fallos

Tenga en cuenta que ante cualquier falla, la información de la excepción se almacena en sys.último_valor,
sys.último_tipo y sys.last_traceback. En uso interactivo, esto le permite a uno caer en
depuración post mortem con cualquier herramienta de depuración. También se puede acceder manualmente a la excepción
información, por ejemplo:

>>> importar sys
>>> sys.last_traceback.tb_lineno
42
>>> sys.last_value
AssertionError ('afirmar resultado == "ok"',)

AJUSTE A PUNTO DE RUPTURA / Apodo SET_TRACE ()


Si desea establecer un punto de interrupción e ingresar el pdb.set_trace () puedes usar un ayudante:

importar pytest
def función_prueba ():
...
pytest.set_trace () # invocar el depurador y seguimiento de PDB

Antes de la versión 2.0.0 de pytest, solo podía ingresar AP seguimiento si desactivó la captura
en la línea de comando a través de py.prueba -s. En versiones posteriores, pytest desactiva automáticamente su
captura de salida cuando ingresa AP rastreo:

· La captura de salida en otras pruebas no se ve afectada.

· Cualquier salida de prueba anterior que ya se haya capturado y se procesará como tal.

· Cualquier salida posterior producida dentro de la misma prueba no se capturará y, en su lugar, se obtendrá
enviado directamente a sistema.stdout. Tenga en cuenta que esto es cierto incluso para la salida de prueba que se produce
después de salir del interactivo AP sesión de seguimiento y continuar con la prueba regular
huye.

Desde la versión 2.4.0 de pytest, también puede usar el Python nativo importar pdb; pdb.set_trace ()
llamar para entrar AP rastreo sin tener que usar el pytest.set_trace () envoltorio o
deshabilitar explícitamente la captura de salida de pytest a través de py.prueba -s.

PERFILANDO PROBAR EJECUCIÓN DURACIÓN


Para obtener una lista de las 10 duraciones de prueba más lentas:

py.test --durations = 10

CREANDO JUNITXML FORMATO ARCHIVOS


Para crear archivos de resultados que puedan ser leídos por Hudson u otra integración continua
servidores, utilice esta invocación:

py.test --junitxml = ruta

para crear un archivo XML en camino.

registro_xml_propiedad
Nuevo en la versión 2.8.

Si desea registrar información adicional para una prueba, puede usar el registro_xml_propiedad
accesorio:

def función_prueba (record_xml_property):
record_xml_property ("clave_ejemplo", 1)
afirmar 0

Esto agregará una propiedad adicional example_key = "1" a lo generado caso de prueba tag:







ADVERTENCIA:
Esta es una función experimental y su interfaz podría ser reemplazada por algo más
potente y general en futuras versiones. La funcionalidad per se se mantendrá,
sin embargo.

Actualmente no funciona cuando se usa con el pytest-xdist .

También tenga en cuenta que el uso de esta función romperá cualquier verificación de esquema. Esta
puede ser un problema cuando se utiliza con algunos servidores de CI.

CREANDO RESULTADO FORMATO ARCHIVOS


Para crear archivos de resultados de texto sin formato legibles por máquina, puede emitir:

py.test --resultlog = ruta

y mira el contenido en el camino localización. Estos archivos son utilizados, por ejemplo, por el Prueba de PyPy
página web para mostrar los resultados de las pruebas en varias revisiones.

ENVIANDO PROBAR INFORME A ONLINE CAJA DE PASTEL SERVICIO


Creamos a Enlance for cada una test el fracaso:

py.test --pastebin = fallido

Esto enviará información de ejecución de prueba a un servicio de Pegado remoto y proporcionará una URL para cada
falla. Puede seleccionar las pruebas como de costumbre o agregar, por ejemplo -x si solo quieres enviar uno
fallo particular.

Creamos a Enlance for a todo test Sesión log:

py.test --pastebin = todo

Actualmente solo pegando en el http://bpaste.net se implementa el servicio.

INHABILITAR PLUGINS


Para deshabilitar la carga de complementos específicos en el momento de la invocación, use el -p opción junto con
el prefijo en:.

Ejemplo: para deshabilitar la carga del complemento prueba, que se encarga de ejecutar doctest
pruebas de archivos de texto, invoque py.test así:

py.test -p no: doctest

LLAMAR PY.PRUEBA DESDE PYTHON CÓDIGO


Nuevo en la versión 2.0.

Puedes invocar pytest desde el código Python directamente:

pytest.main ()

esto actúa como si llamara a "py.test" desde la línea de comandos. No se levantará
SystemExit pero devuelve el código de salida en su lugar. Puede pasar opciones y argumentos:

pytest.main (['- x', 'mytestdir'])

o pasar una cadena:

pytest.main ("- x mytestdir")

Puede especificar complementos adicionales para pytest.principal:

# contenido de myinvoke.py
importar pytest
clase MyPlugin:
def pytest_sessionfinish (auto):
imprimir ("*** ejecución de prueba informando finalización")

pytest.main ("- qq", complementos = [MyPlugin ()])

Ejecutarlo mostrará que Mi complemento fue agregado y su gancho fue invocado:

$ python miinvocar.py
*** ejecución de prueba informando finalización

Use py.test en línea usando los servicios de onworks.net


Servidores y estaciones de trabajo gratuitos

Descargar aplicaciones de Windows y Linux

Comandos de Linux

Ad