console.log语句在Jest中不输出任何内容。昨天还挺管用的,今天突然就不管用了。我没有对我的配置做任何更改,也没有安装任何更新。
我没有使用——forceExit选项。仍然看到这个问题。
console.log语句在Jest中不输出任何内容。昨天还挺管用的,今天突然就不管用了。我没有对我的配置做任何更改,也没有安装任何更新。
我没有使用——forceExit选项。仍然看到这个问题。
当前回答
这对我来说很管用:开玩笑——废话连篇
其他回答
如果使用带有Jest配置的Webstorm,请单击文件名而不是测试名称。
根据https://github.com/facebook/jest/issues/2441上的评论,
尝试在package.json的jest选项中设置verbose: false(或删除它)。
你可以像这样一起运行两个选项——watch——verbose false,如果你还想监视文件并查看输出。
只运行一次就做——冗长的错误
日志记录不能打印的一个潜在原因是console.log被嘲笑了。如下所示
// jest-setup.js
global.console = {
// eslint-disable-next-line no-undef
log: jest.fn(), // console.log are ignored in tests
// log: console.log,
// Keep native behaviour for other methods, use those to print out things in your own tests, not `console.log`
error: console.error,
warn: console.warn,
info: console.info,
debug: console.debug,
};
// package.json
"jest": {
"preset": "react-native",
"moduleFileExtensions": [
"ts",
"tsx",
"js",
"jsx",
"json",
"node"
],
"setupFilesAfterEnv": [
"@testing-library/jest-native/extend-expect",
"<rootDir>/src/config/jest-setup.js"
],
"testMatch": [
"<rootDir>/src/**/__tests__/**/*.test.{ts,tsx}"
]
},
如果你想禁用console.log,这是常用的
这是一个相当古老的问题,至今仍没有公认的答案。然而,没有一个建议的解决方案对我有效(设置像-静音-verbose等)。主要问题是Jest更改了全局控制台对象。因此,最简单的解决方案是不使用全局控制台对象。
相反,从控制台模块导入专用的日志函数并使用它们:
import { error } from "console";
error("This is an error");
就这么简单。