我正在使用 mocha -w
进行持续测试。
我在另一个库的套接字连接中遇到了一个错误,该错误仅在长时间使用 mocha -w
时才会出现。我需要将定向到 console.log
的调试输出捕获到一个文件中,以便可以搜索和过滤大量数据以用于故障排除。
然而,mocha 的“观看”旋转器却出现了障碍。当我尝试使用 Windows power shell、GitHub 的 Git Shell 或 DOS 将 stdout 重定向到文件时:
mocha -w >> log.txt
我从动画微调器中获取了如下 GB 的数据:
[0G [96m| [90mwatching[0m[0G [96m/ [90mwatching[0m[0G [96m- [90mwatching[0m[0G [96m\ [90mwatching[0m[0G [96m| [90mwatching[0m[0G [96m/ [90mwatching[0m[0G [96m- [90mwatching[0m[0G [96m\ [90mwatching[0m[0G [96m| [90mwatching[0m[0G [96m/ [90mwatching[0m[0G [96m- [90mwatching[0m[0G [96m\ [90mwatching[0m[0G [96m| [90mwatching[0m[0G [96m/ [90mwatching[0m[0G [96m- [90mwatching[0m[0G [96m\ [90mwatching[0m[0G [96m| [90mwatching[0m[0G [96m/ [90mwatching[0m[0G [96m-
This SO question suggests making a copy of Mocha and hacking the play()
method.但是,尝试使用 Mocha 的黑客版本来解决可能存在的 Mocha 错误并不理想。
所以这似乎是扩展我的 shell 知识和 Node.js 知识的好时机。
是否有一种优雅的方式来执行以下任一操作?
- 当文件中以动画控制字符开头的行被过滤掉?
- 阻止 Mocha 渲染旋转文本? (似乎没有任何标志,如文档和 bugs like this one 所示,它们从不建议翻转标志来解决问题)
最佳答案
我不熟悉 Mocha 或其输出,但理论上你应该能够像这样过滤:
mocha -w | Where {$_ -notmatch 'watching\['} >> log.txt
调整正则表达式('matching[')以最适合您要过滤掉的输出。
关于node.js - 将标准输出内容过滤到文件的优雅方法?或者关闭 Mocha 的观看旋转器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16510909/