2

我正在使用mocha -w持续测试。

我遇到了另一个库的套接字连接的错误,该错误仅在mocha -w长时间使用时发生。我需要捕获定向到console.log文件的调试输出,以便可以搜索和过滤大量数据以用于故障排除。

然而,摩卡的“观看”微调器正在阻碍。当我尝试使用 Windows power shell、GitHub 的 Git Shell 或 DOS 将标准输出重定向到文件时:

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-

这个 SO question 建议制作 Mocha 的副本并破解该play()方法。但是,尝试使用破解版的 Mocha 来解决可能是 Mocha 错误的问题并不理想。

所以这似乎是扩展我的 shell 知识和 node.js 知识的好时机。

是否有一种优雅的方式来执行以下任何操作?

  1. 当它们以动画控制字符开头时过滤文件中的行?
  2. 防止 mocha 渲染微调器文本?(似乎没有任何标志,如 docs 和bug 所证明的那样,从不建议翻转标志以解决问题)
4

1 回答 1

2

我不熟悉 mocha 或其输出,但理论上你应该能够像这样过滤:

mocha -w | Where {$_ -notmatch 'watching\['} >> log.txt

调整正则表达式 ('matching[') 以最适合您尝试过滤的输出。

于 2013-05-12T20:02:49.797 回答