簡體   English   中英

如何在Capybara集成測試中訪問stdout或stderr

[英]How to access stdout or stderr in a Capybara integration test

我正在嘗試調試一些Capybara集成測試並遇到意外問題。 當我在Capybara測試中設置斷點時,我可以檢查變量,但我不能調用puts$stdout.puts$stderr.puts 要明白我的意思,看看這個輸出:

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

據推測這是因為Capybara捕獲stderr和stdout作為其標准操作的一部分,以便與selenium驅動程序保持安靜等等。我明白了,但問題是檢查ruby調試器中的字符串會逃脫換行符,這使得它無法實現讀取HTML等長格式化字符串。

如何使用IO#puts獲取對活動終端的引用以輸出用於調試目的的內容?

你有沒有看過Capybara-cli,這可能有助於以這種方式進行調試。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM