首页 > 解决方案 > 如何编写单元测试以启用正常关机

问题描述

谁能告诉我如何为此方法编写单元测试。

process.on('SIGINT', function () {
  mongoose.connection.close();
  winston.info('Gracefully shutting down server');
  if (c.getEnv('NODE_ENV') !== EnvironmentType.TEST) {
    process.exit(0);
  }
});

我如何用玩笑来测试这段代码?

标签: node.jsmongoosejestjs

解决方案


您可以将该匿名函数提取到一个高阶函数中,该函数接受它完成工作所需的所有参数并返回一个将被调用的新函数SIGINT

function closeDB(env){
  return function(){
      mongoose.connection.close();
      winston.info('Gracefully shutting down server');
      if (env == EnvironmentType.TEST) {
          process.exit(0)
      }
  }

}

process.on('SIGINT',closeDB(c.getEnv('NODE_ENV')))

所以在你的测试中,你只需要测试closeDB()功能。


推荐阅读