2013-05-27 5 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"] 

を参照してください私のコントローラで

、私はなぜ配列が配列に現れないのか分かりません。最初のresponse.stream.write行を削除すると、bufは空の配列を返します。

答えて

3

問題を解明しました。 stream.writeでto_jsonを呼び出すと、ストリームがbufインスタンス変数に追加されません。だから私はto_jsonをスタブして戻り値を強制したので、ストリームが正しく書き込まれていることを確認できるようになりました

関連する問題