【问题标题】:How to disable Morgan (request logger) during unit test?如何在单元测试期间禁用 Morgan(请求记录器)?
【发布时间】:2020-05-24 13:09:21
【问题描述】:

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

目前我使用的是默认配置,它将 Morgan 加载到 app.js

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

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

【问题讨论】:

    标签: javascript node.js unit-testing express jestjs


    【解决方案1】:

    您可以像这样使用morganskip 选项:

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

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

    【讨论】:

    • 完美运行!谢谢!
    猜你喜欢
    • 1970-01-01
    • 2011-03-03
    • 1970-01-01
    • 2012-06-06
    • 2018-06-25
    • 2014-02-24
    • 1970-01-01
    • 2021-12-12
    • 2017-10-13
    相关资源
    最近更新 更多