Остановить процесс по порту из JavaScript - PullRequest
1 голос
/ 23 апреля 2019

Я использую jest для написания некоторых тестов для приложения node.js.У меня есть сервер server.js и тестовый файл server.test.js.В моем server.js я использую строку

    var secureServer = https.createServer(options, 
    app).listen(config.node_port, () => {
    logger.info("Service running on " + config.node_port)
    });

, чтобы запустить свой сервер на порту 8082. В server.test.js я использую

    var posClient = require('./pos-ClientJS.js');

, чтобы получить доступ к функциям, которые ядолжен проверить.Когда я запускаю тест, я получаю следующий вывод на консоль:

    Jest did not exit one second after the test run has completed.

    This usually means that there are asynchronous operations that weren't 
    stopped in your tests. Consider running Jest with `-- 
    detectOpenHandles` to troubleshoot this issue.

Итак, мой вопрос: есть ли способ остановить сервер, работающий с кодом javascript, таким как stop(8082) или sth.?Или есть менее сложный способ решить эту проблему, не останавливая процесс?

1 Ответ

1 голос
/ 23 апреля 2019

Из документации модуля Nodejs HTTP вы можете позвонить secureServer.close(), чтобы прекратить прослушивание на указанном порту.Если модуль предоставляет сервер Jest, вы можете использовать методы teardown для автоматической остановки сервера после завершения тестов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...