如何在Capybara集成测试中访问stdout或stderr

时间:2012-02-22 20:38:06

标签: ruby-on-rails capybara

我正在尝试调试一些Capybara集成测试并遇到意外问题。当我在Capybara测试中设置断点时,我可以检查变量,但我无法调用puts$stdout.puts$stderr.puts。要明白我的意思,请看这个输出:

(rdb:1) "foo"
"foo"
(rdb:1) puts "foo"
nil

据推测,这是因为Capybara捕获stderr和stdout作为其标准操作的一部分,以便与selenium驱动程序保持安静等等。我明白了,但问题是检查ruby调试器中的字符串会逃脱换行符,这使得无法读取像HTML这样的长格式化字符串。

如何使用IO#puts获取对活动终端的引用以输出某些内容以进行调试?

1 个答案:

答案 0 :(得分:0)

你有没有看过Capybara-cli,这可能有助于以这种方式进行调试。

https://github.com/vspy/capybara-console