在Jest中如何禁用SuperTest REST调用的调试日志?(Strapi测试场景)
解决Strapi测试时禁用Debug日志的方法
Strapi的debug日志输出不受Jest的verbose配置管控,得从Strapi自身日志设置入手,以下几种方法可以解决:
修改测试环境的Strapi全局配置
找到项目中测试环境的服务器配置文件(比如config/env/test/server.js,若没有则新建;也可直接修改config/server.js并通过环境变量区分),调整日志级别:module.exports = ({ env }) => ({ host: env('HOST', '0.0.0.0'), port: env.int('PORT', 1337), app: { keys: env.array('APP_KEYS'), }, logger: { level: 'error', // 仅输出错误日志,debug级别的请求日志会被屏蔽 }, });在测试用例中动态调整日志级别
不想修改全局配置的话,可在测试启动前临时切换Strapi的日志级别:beforeAll(async () => { await strapi.server.mount(); strapi.log.level = 'error'; });启用Jest的silent模式(慎用)
在jest.config.js里添加silent: true,能抑制所有控制台输出,但会同时屏蔽测试本身的输出信息,适合只关心测试结果的场景:module.exports = { // 其他已有配置 silent: true, };
内容的提问来源于stack exchange,提问作者thevikas
相关产品推荐
相关产品推荐

