1, el módulo integrado doctest
doctest está python
construido en una biblioteca estándar, se puede encontrar el código similar a la sesión interactiva en forma de comentarios, y comprobar si son correctas;
(1) por defecto, pytest
recopilar automáticamente los nombres de todos los que coinciden test*.txt
archivos de reglas, llamadas de doctest
los ejecutan; doctest
el archivo predeterminado de codificación es UTF-8 , puede pytest.ini
utilizar doctest_encoding
especificar una nueva opciones de codificación;
(2) cadenas de documentación de la escritura
--doctest-modules
Encuentra todos los nombres coincidentes *.py
de archivos, documentos recogidos en la forma de una cadena de sesión interactiva de comentarios similares, y para cada cadena documento como un caso de uso se ejecuta, por lo que la aplicación de las anteriores dos pruebas, una de las cuales es un documento de prueba;
Si desea que pytest --doctest-modules
el derecho a cobrar las observaciones pertinentes deberán cumplir las siguientes condiciones:
- Los nombres de archivo se ajustan a
*.py
las reglas, pero no es necesario que se reúnentest_*.py
o*_test.py
reglas; - Docstring comentarios debe ser similar a la
python
sesión interactiva en forma de comentarios;
Agregue --doctest-módulos se pueden resumir de parámetros de entrada cuando se configura --doctest módulos en cada ejecución sin pytest.ini
(3) especificar artículo adicional
- doctest construida: https://docs.python.org/3/library/doctest.html#option-flags
- PYtest viene
ALLOW_BYTES
: Al excluir la cadena de caracteres de salidab
prefijadoALLOW_UNICODE
: Del mismo modo, en la salida, con exclusión de la cadena deu
prefijo;NUMBER
: Con el fin de evitar la situación que provocó el fracaso:
2, continúan en caso de fallo
Por defecto, para una prueba de documento dado, pytest
a retirar en la cara del primer punto de fallo, sin embargo, puede --doctest-continue-on-failure
ordenar a las opciones de línea, se dejó continuar;
3, el formato de salida designado
Documentos no supera la prueba, se puede cambiar el formato de salida de la prueba de las siguientes maneras:
- PYtest --doctest módulos --doctest-informe ninguno
- PYtest --doctest-módulos --doctest-informe Udiff
- PYtest --doctest-módulos --doctest-informe Cdiff
- PYtest --doctest-módulos --doctest-informe Ndiff
- PYtest --doctest-módulos --doctest-informe only_first_failure
4, el documento utilizado en el accesorio de prueba
Por getfixture
el uso de cadenas en el documento permite fixture
:
5, prueba de espacio de nombres
doctest_namespace fixture
La operación puede ser utilizado para doctest
inyectar algo de espacio de nombres información probado, que es un objeto de diccionario estándar;
6, omitiendo el documento de prueba
Por pytest.skip
saltarse la documentación de prueba;