Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 运行时没有console.log到标准输出;npm测试“;(开玩笑)_Javascript_Node.js_Testing_Npm_Jestjs - Fatal编程技术网

Javascript 运行时没有console.log到标准输出;npm测试“;(开玩笑)

Javascript 运行时没有console.log到标准输出;npm测试“;(开玩笑),javascript,node.js,testing,npm,jestjs,Javascript,Node.js,Testing,Npm,Jestjs,据我所知,在运行脚本时,console.log()可以毫无问题地打印到控制台的标准输出 但是在我的例子中,我将NPM配置为在从shell发出NPM test时运行Jest,并且测试文件中的任何console.log()都不会在屏幕上打印任何内容。 我还尝试使用process.stdout.write(),但在运行npm测试时仍然没有得到自定义输出 我应该如何调试测试脚本中的内容? 我不知道这是来自Node、NPM还是Jest的问题。 有一个类似于我的,但我仍然无法解决和得到输出一个简单的字符串;

据我所知,在运行脚本时,
console.log()
可以毫无问题地打印到控制台的标准输出

但是在我的例子中,我将NPM配置为在从shell发出
NPM test
时运行Jest,并且测试文件中的任何
console.log()
都不会在屏幕上打印任何内容。 我还尝试使用
process.stdout.write()
,但在运行
npm测试时仍然没有得到自定义输出

我应该如何调试测试脚本中的内容? 我不知道这是来自Node、NPM还是Jest的问题。 有一个类似于我的,但我仍然无法解决和得到输出一个简单的字符串;而其余的笑话输出像往常一样被重复

有人经历过类似的问题吗

编辑1: 我尝试运行
npm测试--runInBand
,但日志没有出现

注 尝试重复运行命令,如

console.log('foo…');console.log('bar..');console.log('baz..')


我有时可以看到日志,但随后会被以下Jest输出的其余部分覆盖/隐藏。

来自链接问题,因为问题多年来一直存在

有一种方法可以解决这个问题。看起来最近一次精炼是在过去几个小时内完成的(请参见Github问题链接)

然而,我找到了一个适用于我最简单情况的解决方案:

  • 只要运行启用详细模式,日志就会神奇地出现
不会在任何情况下都修复;可能异步/多线程/etc仍然存在问题(请报告您的经验,以便我可以更新答案);例如,添加
进程。在日志之后退出(1)
将再次隐藏它

进程运行之前尝试按
ctrl+c
。exit()
运行(计时正确…)将显示日志实际存在并被覆盖


我将用新闻更新答案,但这可能会帮助其他人从Node/NPM/Jest设置开始

这不干净,但我很幸运,希望它能帮助您,直到发布修复程序:在被覆盖的日志之后记录一些额外的
换行代码:

console.log('I want to be seen!');
console.log('\n\n\n\n');

我也想知道这一点,这很烦人,如果对你有用的话,我现在做的事情是在那里我会有一个console.log,而不是我写到一个文件中。@countingstaff似乎很棘手。查看我链接的Jest存储库中的问题,以跟踪正在发生的事情(从2年前开始;在过去的2个小时里,我使用了这个命令,日志被打印出来:
npm run test src/rentcafe.com/--runInBand--verbose
如果你读过,你会发现我已经尝试过了这些——在我的答案中链接了一个关于这个问题的Github问题;我想他们解决了这个问题并发布了一个补丁版本。这个答案是什么你的问题?
console.log('I want to be seen!');
console.log('\n\n\n\n');