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

Dij*_*e85 4 javascript unit-testing node.js express jestjs

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

目前我正在使用默认配置,它加载摩根 app.js

const logger = require('morgan');
...
const app = express();
...
app.use(logger('dev'));
Run Code Online (Sandbox Code Playgroud)

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

sli*_*wp2 10

您可以使用这样的跳过选项morgan

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

当您运行单元测试时,process.env.NODE_ENV将设置为“测试”。