En este artículo, nos centraremos en una entidad única del ciclo de vida de un desarrollador: pruebas. El código de prueba es una característica muy útil para cualquier desarrollador. Permite encontrar y solucionar errores antes de implementar el código para la producción. Aunque hay muchas formas y características para implementar pruebas de código, este artículo se centrará en el paquete GO Afirmar.
Comenzando con las pruebas
Antes de sumergirnos en cómo trabajar con el paquete Testify, aprendamos cómo comenzar con las pruebas de Go.
El primer paso es saber lo que quieres probar. Esta podría ser una función simple para una colección de métodos.
Tomemos un programa de ejemplo simple que solo multiplique su entrada por 10.
Comience creando un directorio para almacenar su código.
Prueba de MKIDRNavegue al directorio y cree un archivo GO que contenga su programa. Para simplificar, llamaremos a este archivo principal.ir
prueba de CDEdite el archivo con su editor de texto y cree su programa. Para seguir junto con este tutorial, puede agregar el código como se muestra a continuación:
paquete principalEn el programa de ejemplo, tenemos una función que toma una entrada entera y devuelve el entero multiplicado por 10.
Guarde y cierre el archivo.
El siguiente paso es crear una prueba para el programa anterior. Para hacer esto, necesitamos crear un archivo en el mismo directorio con el sufijo _test. Esto le dice al módulo de prueba GO que este archivo contiene un conjunto de pruebas para el programa en el directorio.
Ya que queremos crear una prueba para el principal.Programa Go, llamaremos al archivo de prueba como:
toque main_test.irEn el archivo de prueba, podemos crear instrucciones de prueba para nuestro programa.
Dado que queremos usar el paquete de afirmación de uso, necesitamos importar las pruebas y el paquete Afirmar.
Puede incluir las importaciones como:
paqueteA continuación, cree una función de prueba para probar el programa principal. Podemos crear instrucciones de prueba como se muestra:
paquete principalEn el programa anterior, creamos una función de prueba que toma una prueba.T Objeto T. El marco de prueba permite que la función escriba falla en la ubicación apropiada siempre que este objeto.
Dentro de la función, usamos el paquete Afirmar para verificar si la función devuelve un resultado igual a los parámetros proporcionados. Si la función multiplicar toma el entero 10 y devuelve un valor igual a 100, entonces pasa la prueba.
Guarde el archivo de prueba y ejecute la prueba usando el comando:
pruebaEl comando anterior debe tomar el archivo de prueba y ejecutar las pruebas configuradas.
Una salida de ejemplo es como se muestra:
=== Ejecutar testmultylyComo notará en la salida anterior, la función pasa la prueba.
Cambiemos el valor de la función para ilustrar una instrucción de falla. Por ejemplo, cambie el tercer parámetro de la función de prueba a un valor incorrecto. Por ejemplo:
FunctestMultiply (T *pruebas.T)En este ejemplo, estamos diciendo al programa que si la función no devuelve 10, entonces la función falla.
Nota: Tenga en cuenta que la función de prueba es incorrecta.
Si ejecutamos la prueba, deberíamos obtener un fracaso como:
=== Ejecutar testmultylyLa salida anterior ilustra una prueba fallida.
Golang afirmar
Ahora que tenemos los conceptos básicos de las pruebas fuera del camino, cambiemos nuestro enfoque al paquete Afirmar. En nuestro ejemplo anterior, utilizamos el método igual para verificar si la función devuelve el valor esperado. Sin embargo, el paquete ASSERT proporciona una gran cantidad de herramientas y métodos de prueba para facilitar la prueba de código.
Exploremos algunos ejemplos más para ilustrar la funcionalidad del paquete de afirmación.
Desigualdad de prueba de golang
Podemos usar el paquete de afirmación para verificar la desigualdad utilizando el método NoteQual (). La sintaxis de la función es como se muestra:
FUNC NoteQual (T Testingt, esperado, interfaz real , msgandargs ... interfaz ) bool
La función toma una t.Objeto de prueba, el valor esperado y el valor real y un mensaje de impresión. Verifica si el valor esperado y real no es igual. Si es cierto, la prueba pasa, de lo contrario, falla.
Un ejemplo es como se muestra:
FunctestNotequal (T *pruebas.T)El código anterior verifica si los valores no son iguales. Una salida de ejemplo es como se muestra:
=== Ejecutar testNotequalCódigo de estado HTTP de prueba de Golang
Podemos usar el método httpstatuscode () para verificar si un controlador devuelve el código de estado especificado.
Supongamos que tenemos un servidor HTTP, que si hacemos una solicitud para devolver el código de estado de 200. No nos sumergiremos en cómo crear un servidor HTTP en GO. Consulte nuestro tutorial sobre el tema para obtener más información.
Un ejemplo de servidor HTTP es como se muestra:
paquete principalPodemos crear una prueba para verificar si la función del controlador HTTP devuelve el código de estado especificado. En nuestro caso, la función del controlador HTTP es el método Sayhello. La función de prueba es como se muestra:
FUNC TestStatuscode (prueba T *.T)En el ejemplo anterior, creamos una función de prueba para verificar el envío de una solicitud GET al servidor con la función del controlador HTTP Sayhello, devuelve el código de estado de 200.
El código devuelve:
=== Ejecutar testStatuscodePanic de prueba de Golang
Otra prueba que podemos ejecutar es verificar si una función específica se asigna a. Podemos usar el afirmación.Método de pánico () como se muestra:
FunctestPanic (T *Prueba.T)En el ejemplo anterior, verificamos si la función si se enpone.
Golang verifique si existe el directorio
Si desea probar si existe un directorio específico dentro de una ruta especificada, puede usar el método Direxists ().
Por ejemplo:
Functestdir (T *Prueba.T)Conclusión
Esta fue una guía completa sobre cómo comenzar con las pruebas en el lenguaje de programación GO. Las pruebas se usan en gran medida en proyectos de desarrolladores múltiples. Por lo tanto, aprender a realizar pruebas es excepcional.
El paquete Afirmar que se muestra en este tutorial proporciona mucho más que se muestran en este tutorial. La documentación se expande en esto.
https: // pkg.ir.dev/github.com/stretro/testify/afirmar