Twitter ストリーミング APIとのやり取りを簡素化するtweetstream gemをいじっています。gem のページに示されているコード例と同じように、すべてのツイートをストリーミングしています。
TweetStream::Client.new.sample do |status|
puts "#{status.text}"
end
#capture
これを、ストリームを数秒間だけ実行し、すべてのツイート (status.text
文字列) を配列にキャプチャする単純なロジックを含むメソッドに入れました。
の単体テストを書きたい#capture
。ツイートのストリームをスタブするにはどうすればよいですか? ファイルまたはStringIO
オブジェクトのいずれかにツイートを保存すると思いますが、ストリーミング API で行われている TCP の相互作用を処理するためのモックを作成する方法がわかりません。ここでも VCR を使用する必要があるかどうかわかりません。