0

我正在使用tweetstream gem,它简化了与Twitter 流 API的交互。我正在流式传输所有推文,就像 gem 页面上显示的代码示例一样:

TweetStream::Client.new.sample do |status|
  puts "#{status.text}"
end

我已经把它放在一个#capture带有一些简单逻辑的方法中,只运行几秒钟的流并捕获status.text数组中的所有推文(字符串)。

我想为#capture. 我将如何剔除推文流?我猜我会将推文存储在文件或StringIO对象中,但我不知道如何编写模拟来处理流 API 正在进行的任何 TCP 交互。我也不确定我是否应该在这里使用 VCR。

4

1 回答 1

0

阅读文章,了解使用 VCR gem 测试外部服务的非常简单的方法 https://robots.thoughtbot.com/how-to-stub-external-services-in-tests

很多人可能会建议使用下面的这种方法,它不完整且易碎,因此最好避免使用它。

客户 = Twitter::Client.new
 client.stub(:sample).and_yield(:message)
于 2015-08-26T03:08:39.887 回答