Estoy tratando de averiguar cómo cerrar una instancia de Express. Básicamente, quiero lo contrario de la .listen(port)
llamada: ¿cómo hago para que un servidor Express DEJE de escuchar, libere el puerto y se apague limpiamente?
Sé que parece que puede ser una consulta extraña, así que aquí está el contexto; tal vez haya otra forma de abordar esto y lo estoy pensando de manera incorrecta. Estoy intentando configurar un marco de prueba para mi aplicación socket.io/nodejs. Es una aplicación de una sola página, así que en mis scripts de prueba (estoy usando Mocha, pero eso realmente no importa) Quiero poder iniciar el servidor, ejecutar pruebas en él y luego apagar el servidor. Puedo solucionar esto asumiendo que el servidor está encendido antes de que comience la prueba o haciendo que una de las pruebas inicie el servidor y que cada prueba posterior asuma que está funcionando, pero eso es realmente complicado. Preferiría que cada archivo de prueba inicie una instancia de servidor con la configuración adecuada y luego cierre esa instancia cuando terminen las pruebas. Eso significa que no hay dependencias extrañas para ejecutar la prueba y todo está limpio. También significa que puedo hacer pruebas de inicio / apagado.
Entonces, ¿algún consejo sobre cómo hacer esto? He pensado en activar excepciones manualmente para eliminarlo, pero eso parece complicado. He revisado los documentos y la fuente de Express, pero parece que no puedo encontrar ningún método que apague el servidor. También podría haber algo en socket.io para esto, pero dado que el servidor de socket está conectado al servidor Express, creo que esto debe suceder en la capa express.