【发布时间】:2019-06-08 23:27:27
【问题描述】:
据我所知,console.log() 在运行脚本时应该可以毫无问题地打印到我的控制台的 STDOUT。
但就我而言,我已将 NPM 配置为在从 shell 发出 npm test 时运行 Jest,并且测试文件中的任何 console.log() 都不会在屏幕上打印任何内容。
我也尝试使用process.stdout.write(),但在运行npm test 时仍然没有自定义输出。
我应该如何调试我的测试脚本中的东西? 我不知道这是来自 Node、NPM 还是来自 Jest 的问题。 有一个Jest issue 看起来与我的相似,但我仍然无法解决并输出一个简单的字符串;而其余的 Jest 输出则照常回显。
有人遇到过类似的问题吗?
编辑 1:
我尝试运行npm test -- --runInBand,但没有出现日志。
注意
尝试重复运行命令
console.log('foo...');console.log('bar..');console.log('baz..');
我有时可以看到日志,但这会被以下 Jest 输出的其余部分覆盖/隐藏。
【问题讨论】:
-
我也想知道这个,很烦人,如果对你有用的话,我现在要做的就是在哪里有一个console.log,而是写到一个文件中。跨度>
-
@Countingstuff 似乎很棘手。查看我链接的 Jest 存储库中的问题,以跟踪正在发生的事情(自 2 年以来;在过去 2 小时内 ????)。试试
--verbose命令选项,它应该有帮助!! (请让我们知道它是否有效!)我也考虑过写入文件....但后来我告诉自己我宁愿把精力花在试图不屈服于它上???? -
我使用这个命令并且正在打印日志:
npm run test src/rentcafe.com/ -- --runInBand --verbose -
如果您阅读,您会看到我已经尝试过这些 - 有一个关于该问题的 Github 问题,链接在我的答案中;我想他们解决了这个问题并发布了一个补丁版本。
标签: javascript node.js testing npm jestjs