首页 > 解决方案 > 无法在功能后停止快递服务器

问题描述

我有这个before功能的节点测试:

before((done) => {
  app.startServer()
    .catch((err) => {
      done(err);
  });
});

我现在正在尝试编写一个after将停止服务器的函数。

我曾希望这可能是:

after(() => {
  app.stopServer(apiAddress)
    .catch((err) => {
      done(err);
    })
});

但这不起作用。

这些是我的express.js功能:

function startServer() {
  return new Promise((resolve, reject) => {
    app.listen(PORT, (err) => {
      if (err) reject(err);
      log.info(`Server listening on port ${PORT}`);
      resolve();
    });
  });
}

function stopServer(url) {
  return new Promise((resolve, reject) => {
    //const server = app.listen(url);
    app.close(url, (err) => {
      if (err) reject(err);
      log.info(`Server closed on ${url}`);
      resolve();
    });
  });
}

如何express在 after 函数中停止我的服务器?

标签: javascriptnode.jsexpresstesting

解决方案


我们使用“supertest”npm 包来测试 Express.js 应用程序。试试那个好东西。 https://www.npmjs.com/package/supertest


推荐阅读