Función de enlace pytest (5): enlace de informe

Prefacio

El marco pytest proporciona muchos ganchos. A través de estos ganchos, podemos intervenir en varias etapas de la recopilación de casos de uso de pytest, la ejecución de casos de uso, la salida de informes, etc., y desarrollar los complementos correspondientes según las necesidades para satisfacer nuestros propios escenarios de uso.

01 ¿Qué es una función de gancho?

La función de enlace se llama función de enlace en pytest. El desarrollador del marco de pytest ha reservado algunas funciones para que los usuarios expandan mejor el desarrollo. Estas funciones reservadas se llamarán y ejecutarán automáticamente en etapas específicas de todo el ciclo de vida de ejecución de la prueba. Como se muestra a continuación:
[La transferencia de la imagen del enlace externo falló. El sitio de origen puede tener un mecanismo anti-leeching. Se recomienda guardar la imagen y cargarla directamente (img-YIc6C2GC-1689820507301)(/api/attachments/426316)]

Las funciones de enlace en pytest se dividen en 6 categorías según sus funciones: enlaces de arranque, enlaces de inicialización, enlaces de recopilación de casos de uso, enlaces de ejecución de casos de uso, enlaces de informes y enlaces de depuración.

Para obtener documentación detallada, consulte la documentación oficial de pytest https://docs.pytest.org/en/latest/reference/reference.html?highlight=hook#hooks

02 Gancho de informe

2.1 pytest_report_header

Esta función de enlace devuelve una cadena o lista de cadenas para mostrar como información de encabezado para el informe del terminal.
parámetro:

  • config: objeto de configuración de pytest.
  • start_path: la ruta inicial de ejecución.
  • startdir: la ruta inicial de ejecución (obsoleta después de la versión 7.0).

valor de retorno:

  • Una cadena o una lista que contiene varias cadenas.

2.2 pytest_report_collectionfinish

Devuelve una cadena o lista de cadenas que se mostrarán una vez completada la recopilación de casos de uso, siguiendo el mensaje estándar "X casos de uso recopilados".

parámetro:

  • config: objeto de configuración de pytest.
  • start_path: la ruta inicial de ejecución.
  • startdir: la ruta inicial de ejecución (obsoleta después de la versión 7.0).
  • elementos: Lista de casos de uso a ejecutar.

valor de retorno:

  • Una cadena o una lista que contiene varias cadenas.

2.3 pytest_report_teststatus

Esta función de enlace devuelve las categorías de resultados, letras cortas y palabras detalladas del informe de estado.

  • Categoría de resultado: es la categoría del resultado del cálculo, como Pasa, Omitir, Error o la cadena vacía.
  • Letras cortas: como ".", "s", "E" o la cadena vacía.
  • Palabras detalladas: por ejemplo, "APROBADO", "SALMITADO", "ERROR" o la cadena vacía.

parámetro:

  • config: objeto de configuración de pytest.
  • informe: el objeto de informe cuyo estado se devolverá.

valor de retorno:

  • Lo que se devuelve es una tupla que contiene información del resultado, la estructura específica Demo: ("Pass", "P", ("Pass", {"res": 'La ejecución pasó'})).

Dentro de la función de enlace, se puede juzgar la información del objeto de informe entrante y se puede devolver el resultado correspondiente.

2.4 pytest_report_to_serializable

Serializa el objeto de informe dado, por ejemplo, a datos con formato JSON.

parámetro:

  • config: objeto de configuración de pytest.
  • informe: el objeto de informe cuyo estado se devolverá.

valor de retorno:

  • Cualquier tipo servirá.

2.5 pytest_report_from_serializable

Restaure los datos del informe serializado en el objeto del informe.

parámetro:

  • config: objeto de configuración de pytest.
  • informe: el objeto de informe cuyo estado se devolverá.

valor de retorno:

  • Cualquier tipo servirá.

2.6 pytest_terminal_summary

Agrega una sección al informe resumido del terminal.

parámetro

  • terminalreporter: – Objeto de informe de terminal interno.
  • exitstatus: – El estado de salida que se informará al sistema operativo.
  • config: – objeto de configuración pytest.

2.7 pytest_fixture_setup

Ejecute la función de gancho del dispositivo de prueba previa.

parámetro

  • fijacióndef
  • pedido

valor de retorno:

  • El valor de retorno de la función del dispositivo de prueba.

2.8 pytest_fixture_post_finalizer

Se llama después de ejecutar el accesorio posterior pero antes de que se borre el caché.
parámetro:

  • fijacióndef
  • pedido

valor de retorno:

  • El valor de retorno de la función del dispositivo de prueba.

2.9 pytest_warning_recorded

Función de enlace para capturar las advertencias que ocurren cuando pytest ejecuta casos de uso.

parámetro:

  • advertencia_message: advertencia capturada.
  • cuando
    "config": Durante la fase de configuración/inicialización de pytest.
    "recopilar": durante la recopilación de prueba.
    "runtest": Durante la ejecución de la prueba.
  • nodeid: ID del caso de prueba
  • Ubicación: guarda información (nombre de archivo, número de línea, función) sobre el contexto de ejecución de la advertencia capturada. La función evalúa cuando el contexto de ejecución está en el nivel del módulo.

2.10 pytest_runtest_logreport

Manejar la generación de cada fase de prueba de ejecución de configuración, llamada y desmontaje del TestReport del proyecto.

parámetro:

  • informe: información del resultado de la ejecución del caso de uso.

2.11 pytest_assertrepr_compare

La función de enlace ejecutada cuando falla la aserción devuelve el caso de uso fallido de la aserción y la explicación del contenido de la comparación en la expresión.
parámetro:

  • config: objeto de configuración ejecutado por pytest.
  • op: Operador de comparación para afirmaciones.
  • izquierda: resultado esperado (contenido a la izquierda del operador de comparación).
  • derecha: el resultado real (el contenido en el lado derecho del operador de comparación).

valor de retorno:

  • Descripción del resultado de la aserción (tipo cadena o lista).

2.12 pytest_assertion_pass

Función de gancho ejecutada cuando pasa la afirmación.

parámetro:

  • elemento: El caso de prueba que se ejecutará.
  • lineno: – El número de línea de la declaración de aserción.
  • orig :-- Cadena con afirmación original.
  • expl: – Cadena con explicación de aserción.

Supongo que te gusta

Origin blog.csdn.net/FloraCHY/article/details/131824850
Recomendado
Clasificación