> Proyectos KeepCoding - Web 18: 📁 repos-kc-web-18.md
> Selecciona tu Idioma: Inglés 🔄 Alemán
Con el fin de demostrar los conocimientos adquiridos en clases virtuales, este proyecto consiste en realizar ejercicios de testing mediante la dependencia “jest”.
Las pruebas son fundamentales para detectar errores antes del despliegue, aumentar la confianza en el código, apoyar decisiones de lanzamiento y fomentar buenas prácticas de desarrollo. Forman parte esencial de metodologías como Waterfall, Agile y DevOps, donde suelen automatizarse en ciclos de integración y entrega continua.
- Manuales: El tester verifica visualmente el comportamiento de la aplicación siguiendo pasos definidos.
- Automáticas: Simulan interacciones del usuario para validar el funcionamiento tras cambios de código.
- Unitarias: Evalúan funciones o módulos individuales de forma aislada.
- De integración: Comprueban que múltiples componentes funcionen correctamente en conjunto.
- End-to-End: Simulan flujos completos del usuario para garantizar el correcto funcionamiento de la aplicación.
- Seguridad: Detectan vulnerabilidades y validan la protección de datos sensibles.
- Rendimiento: Evalúan tiempos de respuesta y comportamiento bajo carga.
- Usabilidad: Analizan la experiencia real del usuario en la interfaz.
- Accesibilidad: Verifican que la aplicación sea usable por personas con discapacidad.
- Jasmine, Jest, Mocha + Chai: Pruebas unitarias en JavaScript y Node.js.
- Supertest: Pruebas funcionales en entornos backend.
- Selenium, Puppeteer, Protractor, Playwright: Pruebas E2E automatizadas en navegadores.
El desarrollo guiado por pruebas consiste en escribir primero la prueba, luego el código mínimo para pasarla y finalmente refactorizar. Este enfoque mejora la calidad, evita sobrecargas innecesarias y detecta errores en etapas tempranas. Se apoya en principios SOLID y promueve un diseño más limpio y mantenible.
BDD (Desarrollo guiado por comportamiento) y ATDD (Desarrollo guiado por pruebas de aceptación) buscan alinear a todo el equipo (desarrolladores, testers y negocio) mediante la definición clara de comportamientos esperados. Utilizan lenguajes estructurados como Gherkin para describir escenarios de prueba comprensibles por todos los involucrados.
TODO
- Lenguajes: JavaScript.
- Dependencias a destacar (Node.js): Babel, Jest y Axios.
- Node.js (testeado en la versión v22.15.1)
- Git (testeado en la versión 2.47.1.windows.1)
- Visual Studio Code (testeado en la versión 1.99.0)
git clone https://github.com/pablo-sch/keepcoding-09-TDD-with-javascript.git> Ver Demo de Clonanción en VSCode: 🎥 Gif Demo
# Instala las dependencias del proyecto.
npm install
# Ejecuta las pruebas con Jest una vez.
npm test
# Ejecuta las pruebas en modo observación, corre solo las afectadas.
npm test:watch
# Ejecuta todas las pruebas en modo observación.
npm test:watchAll
# Muestra la lista de archivos de prueba.
npm test:list
# Ejecuta las pruebas y muestra el resultado en formato JSON.
npm test:jsonProyecto bajo licencia MIT. Uso y distribución libres con atribución. No se aceptan contribuciones externas, pero las sugerencias son bienvenidas.