Я пытаюсь понять, как закрыть экземпляр Express. В принципе, мне нужен обратный .listen(port)
вызов - как заставить сервер Express ОСТАНОВИТЬ прослушивание, освободить порт и аккуратно завершить работу?
Я знаю, что это может показаться странным вопросом, так что вот контекст; может быть, есть другой способ подойти к этому, и я ошибаюсь в этом. Я пытаюсь настроить среду тестирования для своего приложения socket.io/nodejs. Это одностраничное приложение, поэтому в моих сценариях тестирования (я использую Mocha, но на самом деле это не имеет значения) Я хочу иметь возможность запускать сервер, запускать тесты, а затем выключать сервер. Я могу обойти это, предположив, что либо сервер включен до начала теста, либо если один из тестов запускает сервер и каждый последующий тест предполагает, что он работает, но это действительно беспорядочно. Я бы предпочел, чтобы каждый тестовый файл запускал экземпляр сервера с соответствующими настройками, а затем выключал этот экземпляр после завершения тестов. Это означает, что при запуске теста нет никаких странных зависимостей, и все чисто. Это также означает, что я могу проводить тестирование при запуске / завершении работы.
Итак, какие-нибудь советы о том, как это сделать? Я думал о ручном запуске исключений, чтобы его отключить, но это кажется беспорядочным. Я просмотрел документы и исходный код Express, но, похоже, не могу найти никакого метода, который отключит сервер. Для этого также может быть что-то в socket.io, но поскольку сервер сокетов просто подключен к серверу Express, я думаю, что это должно происходить на уровне express.