javascript - 如何在单元测试期间禁用 Morgan(请求记录器)?

标签 javascript node.js unit-testing express jestjs

我使用 Morgan(默认快速生成器请求记录器),并且我尝试在单元测试期间禁用它。

目前我使用默认配置,在 app.js 中加载 Morgan

const logger = require('morgan');
...
const app = express();
...
app.use(logger('dev'));

我尝试将代码移动到 bin/www (它导入 Express 应用程序并启动服务器),但它不起作用...... 有什么想法吗?

最佳答案

您可以使用skip morgan 的选项如下:

const logger = require('morgan');
const app = express();
app.use(logger('dev', { skip: (req, res) => process.env.NODE_ENV === 'test' }));

当您运行单元测试时,process.env.NODE_ENV 将设置为“test”。请参阅Environment Variables

NODE_ENV - Set to 'test' if it's not already set to something else.

关于javascript - 如何在单元测试期间禁用 Morgan(请求记录器)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60129677/

相关文章:

javascript - 三分之一的下拉列表使用 mysql 创建冲突

javascript - Upstart 说我的脚本正在运行,但 API 在我重新启动进程之前不会返回数据

node.js - Watson Node.js SDK for Conversation Service 的更新

c# - Moq:单元测试依赖于 HttpContext 的方法

python - 对初始化期间调用的方法进行单元测试?

javascript - 如何从 Angular 中的另一个组件滚动到一个组件?

javascript - 如何计算jspdf中文本的宽度和高度?

javascript - 单个文件中多个 React 组件的 PropType 验证

node.js - 用户之间的实时聊天,就像在社交网络中一样 [Laravel + Node + Redis]

android - Android 上的 Mockito,Context.getString(id) 和 NullPointerException