Tutorial de PyUnit: Python Marco de pruebas unitarias (con ejemplo)

¿Qué es la prueba unitaria?

Examen de la unidad in Python se realiza para identificar errores en las primeras etapas de la etapa de desarrollo de la aplicación, cuando los errores son menos recurrentes y menos costosos de corregir.

Una prueba unitaria es una prueba de nivel de código escrita diseñada en Python para verificar una pequeña “unidad” de funcionalidad. La prueba unitaria es un marco orientado a objetos basado en dispositivos de prueba.

Python Técnicas de prueba unitaria

Python Las pruebas unitarias implican principalmente probar un módulo en particular sin acceder a ningún código dependiente. Los desarrolladores pueden utilizar técnicas como resguardos y simulacros para separar el código en "unidades" y ejecutar pruebas a nivel de unidad en las piezas individuales.

  • TDD de desarrollo basado en pruebas: Las pruebas unitarias deben realizarse junto con el Python, y para eso los desarrolladores utilizan el método de desarrollo basado en pruebas. En el método TDD, primero diseñas Python Pruebas unitarias y solo entonces continúas escribiendo el código que implementará esta característica.
  • Talones y simulacros: Son dos técnicas principales que simulan métodos falsos que se están probando. A Talón se utiliza para completar alguna dependencia requerida para que la prueba unitaria se ejecute correctamente. A Burlarse de por otro lado es un objeto falso que ejecuta las pruebas donde ponemos afirmar.

    Las intenciones de ambos métodos son las mismas: eliminar la prueba de todas las dependencias de una clase o función.

Python Marco de pruebas unitarias

Para facilitar el proceso de Pruebas Unitarias y mejorar la calidad de su proyecto, se recomienda el Python Marco de pruebas unitarias. El marco de pruebas unitarias incluye

Python Técnicas de prueba unitaria

  • Unidad Py: PyUnit admite accesorios, casos de prueba, conjuntos de pruebas y un ejecutor de pruebas para las pruebas automatizadas del código. En PyUnit, puede organizar casos de prueba en suites con los mismos accesorios
  • Nariz: Los complementos integrados de Nose lo ayudan con la captura de resultados, la cobertura de código, las pruebas documentales, etc. La sintaxis de Nose es bastante más simple y reduce las barreras para escribir pruebas. se extiende Python unittest para facilitar las pruebas.
  • Prueba documental: El script de prueba de Doctest va en una cadena de documentación con una pequeña función en la parte inferior del archivo. Doctest le permite probar su código ejecutando ejemplos incluidos en la documentación y verificando que arrojaron los resultados esperados. El caso de uso de doctest es menos detallado y no detecta casos especiales. Son útiles como documentación expresiva del caso de uso principal de un módulo y sus componentes.

Pruebas unitarias con PyUnit

Pyunit es un Python puerto de JUnit. Como parte de Pyunit, en el módulo unittest hay cinco clases clave.

Pruebas unitarias con PyUnit

  • Clase TestCase: La clase TestCase contiene las rutinas de prueba y proporciona ganchos para realizar cada rutina y limpiar posteriormente.
  • Clase TestSuite: Funciona como un contenedor de colección y puede poseer múltiples objetos de casos de prueba y múltiples objetos de conjuntos de pruebas.
  • clase TestLoader: esta clase carga casos y suites de prueba definidos localmente o desde un archivo externo. Emite un conjunto de objetos de prueba que posee esos conjuntos y casos.
  • Clase TextTestRunner: Para ejecutar las pruebas, proporciona una plataforma estándar para ejecutar las pruebas.
  • La clase Resultados de la prueba: Ofrece un contenedor estándar para los resultados de la prueba.

Diseñar un caso de prueba para Python Pruebas usando PyUnit

Una prueba unitaria proporciona una clase base, un caso de prueba, que puede usarse para crear nuevos casos de prueba. Para diseñar el caso de prueba, se utilizan tres conjuntos de métodos:

Diseñar un caso de prueba para Python

prueba unitaria.Case de prueba

setUp()
teardown()

skipTest(aMesg:string)
fail(aMesg:string)

id():string
shortDescription():string

En el primer conjunto están los ganchos previos y posteriores a la prueba. El método setup() comienza antes de cada rutina de prueba, el desmontaje() después de la rutina.

El segundo conjunto de métodos controla la ejecución de la prueba. Ambos métodos toman una cadena de mensaje como entrada y ambos cancelan una prueba en curso. Pero el método skiptest() aborta la prueba actual mientras que el método fail() falla por completo.

El último o tercer método ayuda a determinar la prueba. El método id() devuelve una cadena que consta del nombre del objeto del caso de prueba y de la rutina de prueba. Y el método corto.Description() devuelve el comentario docstr al inicio de cada rutina de prueba.

Ventajas de usar Python Prueba unitaria

  • Le ayuda a detectar errores en las primeras etapas del ciclo de desarrollo.
  • Te ayuda a escribir mejores programas.
  • Se sincroniza fácilmente con otros métodos y herramientas de prueba.
  • Tendrá muchos menos errores.
  • Es más fácil de modificar en el futuro con menos consecuencias.