unittest unit tutorial test mock cov python pytest

python - unit - larga ejecución de py.test parada en el primer fallo



pytest-cov (2)

Por favor revisa la documentación en http://pytest.org/latest/usage.html#usage

py.test -x # stop after first failure py.test --maxfail=2 # stop after two failures

Estoy diseñando un py.test que se supone que se ejecuta hasta que encuentra una excepción. Si la prueba nunca encuentra una excepción, debe continuar ejecutándose por el resto del tiempo o hasta que le envíe un SIGINT / SIGTERM.

¿Hay una manera programática de decirle a py.test que deje de ejecutarse en el primer fallo en lugar de tener que hacer esto en la línea de comandos?


Puedes usar addopts en el archivo pytest.ini. No requiere invocar ningún interruptor de línea de comando.

# content of pytest.ini [pytest] addopts = --maxfail=2 # exit after 2 failures

También puede configurar la variable env "PYTEST_ADDOPTS" antes de ejecutar la prueba.

Si desea usar el código de Python para salir después del primer error, puede usar este código:

import pytest @pytest.fixture(scope=''function'', autouse=True) def exit_pytest_first_failure(): if pytest.TestReport.outcome == ''failed'': pytest.exit(''Exiting pytest'')

Este código aplica exit_pytest_first_failure fixture a todas las pruebas y sale de pytest en caso de que falle por primera vez