node.js - 如何编写单元测试以启用正常关机
问题描述
谁能告诉我如何为此方法编写单元测试。
process.on('SIGINT', function () {
mongoose.connection.close();
winston.info('Gracefully shutting down server');
if (c.getEnv('NODE_ENV') !== EnvironmentType.TEST) {
process.exit(0);
}
});
我如何用玩笑来测试这段代码?
解决方案
您可以将该匿名函数提取到一个高阶函数中,该函数接受它完成工作所需的所有参数并返回一个将被调用的新函数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()
功能。
推荐阅读
- c# - ElasticSearch NEST - 使用 client.Get 在所有索引中搜索文档
- python-3.x - 在 Tensorflow 张量上调用 scipy 特殊函数?
- jenkins - Jenkins Groovy 和 Active Choices 反应参数
- python - Python输入变量以在代码运行之前分配给文本框
- reactjs - 像这样的样式组件是一种不好的做法吗?
- c++ - How to use std::transform and std::mem_fn correctly?
- python - 如何在pandas python中查找和匹配来自不同数据帧的特定值
- python - 对字典进行排序,然后通过排名替换值
- node.js - nodejs中如何根据条件编写多个返回条件
- mysql - Mysql - 获取列值是除特定值之外的所有内容的记录