Tu primera prueba unitaria en Go: objeto T
Clase 4 de 15 • Curso de Unit Testing en Go
Contenido del curso
Clase 4 de 15 • Curso de Unit Testing en Go
Contenido del curso
Eduardo Jose Bravo Bravo
Keyner David Nassif Acosta
María Camila Lenis Restrepo
fabio andres zamora osorio
María Camila Lenis Restrepo
Mario Alberto Pacheco Herrada
María Camila Lenis Restrepo
Rubens A. Rangel Gomez
Por aca les dejo la documentacion del paquete testing
Dentro de la validación del test TestAddSucess, en el string de t.Errorf, preferible usar %d sobre %q en ambos casos ya que las variables son int, con ello cuando ejecuten sus test con -v podrán visualizar el valor correspondiente al entero.
// error if result != expect { t.Errorf("got %q, expected %d", result, expect) } // ideal if result != expect { t.Errorf("got %d, expected %d", result, expect) }
Gracias por tu aporte, Keyner
¿Si la funcion que se prueba no retorna valores, entonces como hacerle el test?
Buena pregunta, Fabio
No necesariamente tienes que testear TOOODAS las funciones, si es una función interna de otra, pues puedes probar la más grande.
Si consideras que la función es importante y deberíamos testearla, podrías usar mocks para testear que se llama a las funciones internas de ella y que realmente pasa por los puntos del código que necesitas 🤓
no hay una manera de meter todas las pruebas en una carpeta de testing? para que se vea mas limpio el proyecto?
De hecho no, pero no te preocupes, no necesariamente quiere decir que el proyecto no se vea limpio. Go reconoce los archivos de pruebas por el _test.go y cada uno de ellos debería llamarse exactamente como el archivo que queremos testear. Por ejemplo dummy.go, su prueba se llamaría dummy_test.go. Y si tenemos muchos archivos en el mismo folder, igual los tendremos organizados junto a sus pruebas
🧠 Idea principal
No todas las funciones necesitan ser testeadas directamente; el testing debe enfocarse en comportamiento relevante, usando estrategias como mocks y buenas prácticas de organización.
🧩 Fundamentos
1. Testing de funciones sin retorno
2. Uso de mocks
3. Organización en Go
_test.go.4. Convención de nombres
dummy.go → dummy_test.go5. Buenas prácticas en mensajes de error
%d para enteros en lugar de %q.🔑 Puntos importantes
🎯 Conclusión corta
El testing no es cubrir todo, sino cubrir lo importante de la forma correcta, manteniendo orden, claridad y buenas prácticas en cada detalle.