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
你知道我怎么才能关掉它吗?
5条答案
按热度按时间klsxnrf11#
对于Jest 24.3.0或更高版本,您可以通过将以下内容添加到在
setupFilesAfterEnv
中配置的Jest安装文件中,在纯TypeScript中完成此操作:3bygqnnd2#
Jest将基于可扩展的
Console
类的自定义控制台实现注入到测试全局范围中。通常,它提供有用的调试信息以及打印的消息,回答可能不需要的输出来自哪里的问题。如果出于某种原因不希望这样做,则检索默认
console
实现的一个简单方法是从Node内置模块导入它。可对特定控制台调用执行以下操作:
对于在一系列测试中发生的许多问题:
如此等等。
f87krz0w3#
**更新:**有关Jest的更新版本,请参阅Harald Wellmann的答案。
看看source code的笑话,似乎没有一个整洁的方法来关闭这些消息。
然而,一个可能的解决方案是编写自己的控制台。这里我使用了Jest的Console.js作为起点,然后创建了
SimpleConsole
,它可以满足您的需要(为了简单起见,我删除了一些终端着色特性,但您可以自己添加它们)。一旦添加到您的项目中,您就可以在运行测试之前用您自己的控制台覆盖Jest的普通控制台:
我已经制作了一个REPL来显示它的运行情况。
SimpleConsole
的源代码:q1qsirdb4#
以上选项都不适合我。
(当前)最简单的解决方案是:
1:使用此代码创建文件(例如config.js)
2:将此行添加到jest.config.js中
之前:
之后:
祝你愉快!
dldeef675#
如果你想使用Haral Wellmann的答案,但又不想使用 typescript ,那么你可以简单地这样做: