2013-05-27 43 views
6

我目前正在試驗ActionController :: Live,我無法弄清楚如何正確測試。如何使用Rspec和ActionController :: Live在Rails 4中寫入流時進行測試?

在我的控制器我有這樣的書面

 response.stream.write("event: #{event}\n") 
     response.stream.write("data: #{post.to_json}\n\n") 

但是,當我檢查對象在我的RSpec的測試中,我看到這個

 (rdb:1) response.stream.instance_variable_get(:@buf) 
     ["event: event\n"] 

當我寫的「數據」到流,我無法弄清楚whyit不會出現在數組中。當我刪除第一個response.stream.write行時,buf返回一個空數組。

回答

3

找出問題所在。在stream.write中調用to_json不會將該流添加到buf實例變量中。所以我剔除了to_json並強制返回值,現在我可以確保該流正確寫入

相關問題