Python Doctest

Python Doctest
"Sabemos que el documento de Python proporciona más detalles sobre sus funciones y clases. Los paquetes de Doctest escriben el programa que comienza con >>> y contrasta los resultados con lo que se anticipó. Al ejecutar ilustraciones incluidas en la especificación y confirmar que proporcionan los resultados deseados, la herramienta DocTest le permite evaluar su script. Extrae muestras del texto de referencia, las ejecuta y luego contrasta los resultados con el valor de destino.

El hecho de que no haya habido una API para memorizar en la versión más básica simplifica que los doctores sean más simples para que muchos programadores usen sobre unittest. La creación de pruebas de Doctest podría ser más difícil que consumir un poco más a medida que las instancias se vuelven más complicadas, ya que no hay manejo de recursos."

Ejemplo 01

Comencemos con el primer ejemplo de este artículo ahora. Hemos estado comenzando este ejemplo con la importación del módulo "Doctest" en la primera línea. Después de esto, hemos estado definiendo una nueva función, "prueba" con el parámetro "args" puntero que apunta hacia el uso de valores enteros para el método de prueba. Dentro de este método, hemos estado utilizando las cotizaciones Triple para pasar los valores enteros al método "Prueba" para probar si la suma de todos los valores pasados ​​es igual a un cierto valor definido en la siguiente línea.

Entonces, hemos pasado los 5 valores al método de prueba y esperamos el resultado de 49 como suma. Luego, probamos otra prueba pasando tres números a la función de prueba esperando el resultado de 22, y en la última, nuevamente, se pasaron 5 valores para esperar el resultado de 15. La función de suma () ha estado tomando los valores pasados ​​a la función de prueba como un argumento y devolviendo la suma de todos. La función testMod () del módulo Doctest de Python se ha utilizado aquí para testificar que el valor calculado es el mismo que el valor esperado. Si no, arrojará un error en nuestra consola.

Guardemos y ejecutemos este programa dentro de la herramienta Spyder 3 para ver qué sucede dentro de la parte de prueba. El código detallado de este ejemplo se ve en la captura de pantalla.

Después de la ejecución de este código de Python, tenemos la salida que se muestra a continuación. Muestra que el programa ha estado tratando de probar los 5 valores y esperar 49 como suma. El valor devuelto "OK" muestra que la prueba ha sido aprobada y validada; La suma devuelta es 49. La siguiente prueba se aplicó a tres valores esperando 22 como una suma, mientras que la prueba falló porque la suma que obtuvimos fue de 21.

Después del uso de la función de prueba Doctest en los siguientes 5 valores, hemos pasado la prueba como se esperaba, y el valor de suma devuelto es 15. Al final, se nos ha informado con el resultado que se han desmayado un total de 2 pruebas de 3. En la captura de pantalla, se muestra el resultado de este ejemplo.

Ejemplo 02

Hemos estado utilizando otro ejemplo para usar el módulo Doctest en nuestro código Python para testificar una condición matemática diferente. Entonces, hemos comenzado este ejemplo con la importación de la función TestMod del paquete Doctest en Python. La función "hecho" se ha definido tomando un valor variable "V" como argumento. Las citas triples seguidas de >>> signo están utilizando la función de hecho () para descubrir el factorial de un "4" y "2" en dos líneas diferentes. Si bien el resultado esperado sería 24 y 3 en este caso.

La condición "IF" se ha utilizado para verificar si el valor de la variable "V" pasada a la función de hecho es igual o menos de 1 y devuelve 1; De lo contrario, el factorial de un valor "V" sería calculado por las fórmulas "V*Facto (V-1)".

La función main () está aquí para usar la función tesmod () utilizando la función "hecho" dentro de ella. Sería probar que el factorial de los valores "4" y "2" pasados ​​a las funciones de hecho () sería 24 y 3 o no. Este programa se ha guardado y está listo para su uso ahora. El código detallado de este ejemplo se ve en la captura de pantalla.

Después de ejecutarlo, tenemos que saber que el factorial de 4 devuelto por la función es 24, que es igual al resultado esperado, I.mi. La prueba se ha aprobado en este caso, yo.mi. 24. Para el segundo valor, la prueba ha fallado ya que el factorial esperado de 2 es 3, mientras que el resultado real debe ser 2. Por lo tanto, el informe ha demostrado que 1 prueba se ha aprobado mientras 1 falló. En la captura de pantalla, se muestra el resultado de este ejemplo.

Ejemplo 03

Dentro de este ejemplo, hemos estado importando la función TestMod desde su módulo médico y utilizando la función check () para verificar que el resultado de multiplicación de dos valores es como se esperaba o no. En la primera llamada de función, hemos pasado 5 y 3 y esperamos 15 como resultado de multiplicación, mientras que en la segunda llamada de función, hemos estado pasando el carácter M y el entero 3 mientras esperamos "mmm" como resultado de multiplicación.

El resultado de multiplicación "m*r" se devolvería a la función de llamar main (). La función Main () solo está llamando a la función TestMod para realizar 2 pruebas. Este programa ahora está completado y está listo para ejecutarse. El código detallado de este ejemplo se ve en la captura de pantalla.

En la ejecución, tenemos los mismos valores para ambos resultados de multiplicación que el resultado esperado, I.mi. 15 y "mmm". En este caso, no se ha fallado ningún caso de prueba,.mi. Ambas pruebas se pasan.

Conclusión

Este es todo y todo sobre el uso del paquete Doctest de Python en nuestros códigos para probar programas. Para esto, hemos probado tres ejemplos diferentes para comparar el valor resultante con el valor esperado de las funciones tomando algunos argumentos. Los tres ejemplos son simples y fáciles de hacer en la herramienta Spyder 3, y puede aprender fácilmente el médico practicandolos.