Para aprovechar por completo la funcionalidad de debugging que implementa Express, lo que recomiendo es cambiar todos los console.log por debug haciendo uso de un namespace de la siguiente forma:
De esta manera si ejecutamos nuestra aplicación con el comando DEBUG=app:* node index.js nos mostrará los diferentes logs.
Los namespaces que recomiendo son los siguientes:
app:server para todo lo relacionado con el inicio del servidor como el mensaje Listening on http://localshost
app:db para todo lo relacionado con logs de las bases de datos, inicialización y ejecución de scripts.
app:error para todo lo relacionado con errores en nuestra aplicación.
Nótese que esta convención es opcional, es decir, tu puedes seleccionar cualquier namespace. Lo más importante es que sea el mismo que se pasará en la opción DEBUG.
Express.js por defecto ya trae unos logs de debugging por defecto los podemos activar mediante la variable de entorno DEBUG=express:*.
Por lo que recomiendo los scripts en nuestro archivo package.json de la siguiente manera:
"scripts":{"dev":"DEBUG=express:*,app:* nodemon index","debug":"DEBUG=express:*,app:* npm run start",},
Ejecutando el modo inspect en desarrollo
El modulo inspect de Node.js nos permite ejecutar un ambiente para hacer debugging de código haciendo uso de la consola de desarrolladores de Google. Para ejecutarlo en modo desarrollo con nodemon basta con agregar el flag --inspect por lo que recomiendo el siguiente script en nuestro archivo package.json
Cierre del tema de test muy bien hecho, pero a mi en lo personal es un nuevo objetivo por aprender porque creo que estas clases me dieron el panorama de lo que es y lo que puedes llegar hacer con proyectos grandes!!
Adicionando un poco del modo inspect, para acceder al debug desde chrome, se accede a la ruta chrome://inspect/ y desde aqui podemos abrir en la opción Open dedicated DevTools for Node la herramienta que nos permite buscar nuestro codigo en la pestaña Source y agregamos nuestros puntos de interrupción y de esta manera podemos ejecutar paso a paso nuestro código e inspeccionar variables.
En el curso de fundamentos de Node explican en un video la forma de realizar debug, agrego el enlace de la clase Debugger
Gracias por el aporte, no sabía que se podía hacer así :)
un bloque bastante complejo pero de alto nivel, te da un visión global acerca de todo lo que comprende el backend de una aplicación moderna.
si no entendi mal con esto donde hayamos puesto un console.log va a aparecer un debug ?
Algo así. Lo que ocurre es que vas a ir por cada archivo, buscas console.log y lo reemplazas por debug. Así que ya no se va a usar más console.log, y para observar los mensajes se hará con debug y con el respectivo "namespace" de cada archivo.
Buenos tips para debug
Interesante, gracias!!
Gracias por el tip
muy buena explicacion de lo que es pruebas automatizadas
Bien por el articulo.
Gracias por compartir esta información, es muy valiosa y de mucha ayuda.
Gracias!
Super! Pude agregar el debug para el servidor y para la base de datos. Para los error no, porque se estan manejando con next()