Capybara統合テストをデバッグしようとしていて、予期しない問題が発生しています。私がCapybaraテストの中でブレークポイントを設定すると、変数を検査することができますが、puts
または$stdout.puts
または$stderr.puts
を呼び出すことはできません。私はこの出力を見て意味を理解するには、次のCapybara統合テストでstdoutまたはstderrにアクセスする方法
(rdb:1) "foo"
"foo"
(rdb:1) puts "foo"
nil
おそらくこれは、カピバラは私がすることを得るなど、セレンドライバと静かなものを維持するために、その標準操作の一部として標準エラー出力と標準出力の両方をキャプチャするためですが、問題は、Rubyデバッガの文字列を検査すると改行がエスケープされるため、HTMLなどの長い形式の文字列を読み取ることができなくなるということです。
IO#puts
を使用して、デバッグ目的のために何かを出力するためにアクティブな端末への参照を取得するにはどうすればよいですか?