我在内部通过console.log()(实际上是loglevel)完成了一些NodeJS日志记录,正如我所看到的,Jest出于某种原因将console.log输出标记为console.log ../path/to/string/with/console.log/call:line#:
console.log()
console.log ../path/to/string/with/console.log/call:line#
我在文档中没有找到任何相关选项。我如何禁用它?
svmlkihl1#
重要提示:
我好奇地看了一眼第一个答案中提到的答案,上面说:看看source code的笑话,似乎没有一个整洁的方法来关闭这些消息。我注意到答案上标记了更新,解决了问题。
解决方案:
只需将以下代码添加到测试中:
beforeEach(() => { global.console = require('console'); });
slhcrj9b2#
创建一个全局配置测试文件,例如src/test/config.js,将此行添加到该文件:
src/test/config.js
jest.spyOn(console, "log").mockImplementation();
将以下内容添加到jest配置中:
setupFilesAfterEnv: ['./src/test/config.js']
您还可以使用文件进行全局清理,在每次清理之前/之后进行清理,等等
8ljdwjyq3#
谢谢@Anders Carstensen,我看了你提到的答案,上面写着:看看source code的笑话,似乎没有一个整洁的方法来关闭这些消息。这不是我写自己的控制台的选择,所以我现在还是用Mocha/Sinon吧。
tgabmvqs4#
tslalamam answer代码对我不起作用,但这一个起作用
import console from "console" global.console = console
setupFilesAfterEnv: ["./config.js"]
祝你愉快!
4条答案
按热度按时间svmlkihl1#
重要提示:
我好奇地看了一眼第一个答案中提到的答案,上面说:
看看source code的笑话,似乎没有一个整洁的方法来关闭这些消息。
我注意到答案上标记了更新,解决了问题。
解决方案:
只需将以下代码添加到测试中:
slhcrj9b2#
创建一个全局配置测试文件,例如
src/test/config.js
,将此行添加到该文件:将以下内容添加到jest配置中:
您还可以使用文件进行全局清理,在每次清理之前/之后进行清理,等等
8ljdwjyq3#
谢谢@Anders Carstensen,我看了你提到的答案,上面写着:
看看source code的笑话,似乎没有一个整洁的方法来关闭这些消息。
这不是我写自己的控制台的选择,所以我现在还是用Mocha/Sinon吧。
tgabmvqs4#
tslalamam answer代码对我不起作用,但这一个起作用
1:使用此代码创建文件(例如config.js)
2:将此行添加到jest.config.js中
之前:
之后:
祝你愉快!