console.log语句在Jest中不输出任何内容。昨天还挺管用的,今天突然就不管用了。我没有对我的配置做任何更改,也没有安装任何更新。
我没有使用——forceExit选项。仍然看到这个问题。
console.log语句在Jest中不输出任何内容。昨天还挺管用的,今天突然就不管用了。我没有对我的配置做任何更改,也没有安装任何更新。
我没有使用——forceExit选项。仍然看到这个问题。
当前回答
在我的例子中,问题是从编译版本(在dist文件夹中)而不是从src文件夹中导入函数。因此它使用的是旧版本。所以重建项目和/或从src导入解决了我的问题。
其他回答
你可以像这样一起运行两个选项——watch——verbose false,如果你还想监视文件并查看输出。
只运行一次就做——冗长的错误
尝试了关于jest配置设置的建议,但无济于事。相反,在我的案例中,问题似乎与不等待异步代码有关:
test("test", async () => {
console.log("Does output")
new Promise(resolve => {
// some expectation depending on async code
setTimeout(() => resolve(console.log("Does not output")) , 1)
})
})
相反,等待promise会输出async日志:
test("test", async () => {
console.log("Does output")
await new Promise(resolve => {
// some expectation depending on async code
setTimeout(() => resolve(console.log("Does output")) , 1)
})
})
可能相关背景: https://github.com/facebook/jest/issues/2441
还要确保你的笑话配置没有silent: true。就我而言,我没有意识到其他人已经将其添加到我们的配置中。
我在配置选项列表中没有看到它,但是这里记录了命令行标志。
除了前面提到的——verbose选项会导致这个错误外,注意——watch也可能导致这个错误。
根据v27文档,沉默是你想要的。verbose false(默认值)阻止Jest输出层次结构中每个测试的结果,而silent true(默认值)将:
防止测试通过控制台打印消息。
使用npx jest——silent false如果你想在CLI中使用该选项运行jest。刚才用console.log进行了测试,结果与预期一致。