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.

Resumir este post con: