1
我正在返回puts
與返回值來控制檯nil
如何測試RSpec的測試在命令行輸出
問題測試的是,我現在越來越puts
輸出出來,每當我跑使用RSpec測試。
您將如何測試此輸出並確保在測試控制檯中沒有顯示輸出?
我正在返回puts
與返回值來控制檯nil
如何測試RSpec的測試在命令行輸出
問題測試的是,我現在越來越puts
輸出出來,每當我跑使用RSpec測試。
您將如何測試此輸出並確保在測試控制檯中沒有顯示輸出?
一種方法是重構代碼,以便將IO對象作爲輸入並通過調用puts
來輸出它的輸出。在正常使用中,使用$ stdout但在測試中使用StringIO對象。
如果這樣做不可行,那麼可以考慮在你的測試中定義一個特殊的put方法在被測試的類中。這將隱藏真正的put方法。
重構代碼是最好的選擇。 – Hauleth
請發表編碼。 –
[測試輸出到RSpec命令行]可能重複(http://stackoverflow.com/questions/11349270/test-output-to-command-line-with-rspec) – Stefan