Google没有帮我。我有一个很大的Rails项目,其中充斥着print语句或类似的东西。有东西在打印,我找不到是什么。我已经看了规格,我找不到任何应该打印输出。
是否有一个标志可以传递给rspec或ruby,以显示打印到控制台的行号?
或者使用grep命令EG grep -Rl 'p "'
来查找所有这些打印语句?
我的rspec输出看起来像这样:
""
..*.****.......*****.........**.""
...""
.""
.""
.""
.""
.""
.""
.""
.""
.""
.""
.""
.""
.""
.""
.""
.""
.""
.""
...**.......""
2条答案
按热度按时间hlswsv351#
$stdout
和$stderr
是变量!在测试配置的早期(可能是spec_helper)MyIO可能需要一个更具体的超类--比如StringIO或File。
你可能只需要运行一次就能找到罪魁祸首。如果您发现它被调用得太频繁,您可以看到,也许可以调整调试器行,使其变得复杂
debugger unless caller_is_whitelisted
这是非常粗糙的代码和超级恶心-但你有一个恶心的问题,这是暂时的。
3npbholx2#
(希望成为评论)
它看起来像某种进度条,有没有任何下载,或加载在您的脚本?可以是必需的依赖关系。
您可以尝试在命令行上重定向stderr(2> Windows 2上的NUL> Linux上的/dev/null),看看这些行是否消失。
也可能有一些选项保持这些行安静(像-quiete -silent或任何类似的)