¡Acostúmbrate a escribir juntos! Este es el segundo día de mi participación en el "Nuggets Daily New Plan · April Update Challenge", haz clic para ver los detalles del evento .
Gracias por gustar y aprender juntos. Sígueme y aprende un poco cada día.
- [invocar pytest con python -m pytest]
- [Posible código de salida de ejecución]
- [Obtenga ayuda sobre rutas de versiones, opciones de línea de comandos y variables de entorno]
- [Detener prueba después de falla 1(N)]
- [Especificar y seleccionar casos de prueba]
- [Crear informe de prueba en formato JUnit XML]
- [llamando a pytest en código Python]
Invocar pytest con python -m pytest
Dijimos en el último artículo, python -m pytest [...]
para ejecutar los casos de prueba. Es casi equivalente a la invocación directa desde la línea de comandos pytest [...]
.
Posibles códigos de salida de ejecución
Cuando ejecutamos casos de prueba, cada caso devolverá un código de estado diferente, que es similar a nuestro código de estado http. Principalmente para ver si la ejecución es exitosa. Hay un total de 6 códigos de estado. como sigue:
- Código de salida 0 : recopile y pase con éxito todos los casos de prueba
- Código de salida 1 : las pruebas se recopilan y ejecutan, algunos casos de prueba no se ejecutan
- Código de salida 2 : ejecución de prueba interrumpida por el usuario
- Código de salida 3 : Ocurrió un error interno al ejecutar la prueba
- Código de salida 4 : error de uso de la línea de comandos de pytest
- Código de salida 5 : No se recopilaron casos de prueba
Obtenga ayuda con las rutas de versiones, las opciones de la línea de comandos y las variables de entorno
Detener la prueba después del 1 (N) fallo
pytest -x # 第1次失败后停止
pytest --maxfail=2 # 2次失败后停止,可以是2,也可以是n
复制代码
Especificar y seleccionar casos de prueba
pytest test_model.py
Ejecutar todos los casos en el módulo ejecutar el caso que coincida con el caso en el
pytest testfile
directorio de ejecución ejecutar el caso
pytest -k "key"
que coincida con la expresión ejecutar el caso
pytest test_model.py::test_func
especificado en el
pytest test_model.py::TestClass::test_func
módulo ejecutar el caso especificado en el módulo
pytest -m slow
ejecutar el caso con el decorador @pytest.mark.slow
pytest --pyargs pkg.test
ejecutar el caso en el paquete
Cree informes de prueba en formato JUnit XML
Para crear informes de prueba XML que Jenkins u otro software de integración continua pueda leer, puede usar: pytest --junutxml=path
ruta es la ruta al archivo.
Llamar a pytest en código Python
Esto es más simple.pytest.main(['-x','mytestdir'])