Tutorial de PyUnit:marco de prueba de unidad de Python (con ejemplo)
¿Qué son las pruebas unitarias?
Las pruebas unitarias en Python se realizan para identificar errores al principio de la etapa de desarrollo de la aplicación, cuando los errores son menos recurrentes y menos costosos de solucionar.
Una prueba de unidad es una prueba de nivel de código con script diseñada en Python para verificar una pequeña "unidad" de funcionalidad. La prueba unitaria es un marco orientado a objetos basado en accesorios de prueba.
Técnicas de prueba unitaria de Python
Las pruebas unitarias de Python implican principalmente probar un módulo en particular sin acceder a ningún código dependiente. Los desarrolladores pueden usar técnicas como stubs y simulacros para separar el código en "unidades" y ejecutar pruebas de nivel de unidad en las piezas individuales.
- Desarrollo basado en pruebas TDD: Las pruebas unitarias deben realizarse junto con Python, y para eso los desarrolladores usan el método de desarrollo basado en pruebas. En el método TDD, primero diseña pruebas de unidades de Python y solo luego continúa escribiendo el código que implementará esta función.
- Stubs y Mocks: Son dos técnicas principales que simulan métodos falsos que se están probando. Un talón se usa para completar alguna dependencia requerida para que la prueba unitaria se ejecute correctamente. Un simulacro por otro lado, es un objeto falso que ejecuta las pruebas donde ponemos afirmar.
Las intenciones de ambos métodos son las mismas para eliminar la prueba de todas las dependencias de una clase o función.
Marco de pruebas unitarias de Python
Para facilitar el proceso de pruebas unitarias y mejorar la calidad de su proyecto, se recomienda el marco de pruebas unitarias de Python. El marco de pruebas unitarias incluye
- Unidad Py: PyUnit admite accesorios, casos de prueba, suites de prueba y un corredor de prueba para la prueba automatizada del código. En PyUnit, puede organizar los casos de prueba en suites con los mismos accesorios
- Nariz: Los complementos integrados de Nose lo ayudan con la captura de salida, la cobertura de código, las pruebas de documentos, etc. La sintaxis de Nose es bastante más simple y reduce las barreras para escribir pruebas. Extiende Python unittest para facilitar las pruebas.
- Doctest: El script de prueba de Doctest va en docstring 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 puerto Python de JUnit. Como parte de Pyunit, en el módulo unittest hay cinco clases clave.
- Clase TestCase :La clase TestCase lleva las rutinas de prueba y entrega ganchos para hacer cada rutina y limpiarla después
- clase TestSuite :Sirve como un contenedor de colección y puede poseer múltiples objetos testcase y múltiples objetos testsuites
- clase TestLoader :esta clase carga casos de prueba y conjuntos 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 TestResults :Ofrece un contenedor estándar para los resultados de las pruebas
Diseñando un caso de prueba para Python Testing usando PyUnit
Una prueba unitaria proporciona una clase base, un caso de prueba, que se puede usar para crear nuevos casos de prueba. Para diseñar el caso de prueba, se utilizan tres conjuntos de métodos:
unittest.TestCase
setUp() teardown() skipTest(aMesg:string) fail(aMesg:string) id():string shortDescription():string
En el primer conjunto están los anzuelos pre y post test. El método setup() comienza antes de cada rutina de prueba, el método teardown() 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() la 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 testcase y de la rutina de prueba. Y el método shortDescription() devuelve el comentario docstr al inicio de cada rutina de prueba.
Ventajas de usar las pruebas de unidad de Python
- Te ayuda a detectar errores al principio 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 modificarlo en el futuro con muy pocas consecuencias
python
- Tutorial de clase abstracta de C# con ejemplo:¿Qué es la abstracción?
- Tutorial del marco de automatización de pruebas de IU codificadas
- Python String strip() Función con EJEMPLO
- Python String count () con EJEMPLOS
- Función Python round() con EJEMPLOS
- Función Python map() con EJEMPLOS
- Python Timeit() con ejemplos
- Tutorial de Rendimiento en Python:Generador y Rendimiento vs Ejemplo de Retorno
- Contador de Python en colecciones con ejemplo
- Índice de lista de Python () con ejemplo
- Python - Programación de extensiones con C