首页 > 解决方案 > 删除在 Jest 中记录原点行

问题描述

Jest 有这个功能来记录输出到console方法的行。

在某些情况下,这可能会变得烦人:

  console.log _modules/log.js:37
  ℹ login.0 screenshot start

  console.time _modules/init.js:409
  login.0.screenshot: 0.33ms

  console.time _modules/init.js:394
  0 | login.0: 0.524ms

  console.log _modules/log.js:37
  ℹ login.1 screenshot start

知道如何关闭它吗?

标签: javascriptnode.jsloggingjestjs

解决方案


使用 Jest 24.3.0 或更高版本,您可以在纯 TypeScript 中执行此操作,方法是将以下内容添加到配置的 Jest 设置文件中setupFilesAfterEnv

import { CustomConsole, LogType, LogMessage } from '@jest/console';

function simpleFormatter(type: LogType, message: LogMessage): string {
    const TITLE_INDENT = '    ';
    const CONSOLE_INDENT = TITLE_INDENT + '  ';

    return message
        .split(/\n/)
        .map(line => CONSOLE_INDENT + line)
        .join('\n');
}

global.console = new CustomConsole(process.stdout, process.stderr, simpleFormatter);

推荐阅读