4

我正在尝试为我的应用程序编写一个黄瓜功能和 rspec 测试,以使用 twitter-stream 访问 twitter 流 api。我有以下代码:

Then /^I should see the latest (\d+) tweets from my timeline$/ do |num|
  timeline = Starling::Timeline::Mine.new(@store)

  EventMachine::run {
    tweets = timeline.latest
    timeline.stop
  }

  tweets.length.should == num.to_i
end

该方法的代码是:

def latest
  token = @token.get_token

  @stream = Twitter::JSONStream.connect(options)

  items = []
  @stream.each_item do |item|
    items << item
  end

  items
end

但是,可以预见的是,它在timeline.latest 调用上停滞不前。如何正确测试latest方法中的逻辑?

4

0 回答 0