Ruby on rails Rails:如何模拟gems,例如fb_图形
我正在使用gem fb_图。我是rails的新手,正在尝试找出如何使用rspec模拟这个gem。() 我尝试测试的代码是:Ruby on rails Rails:如何模拟gems,例如fb_图形,ruby-on-rails,unit-testing,rspec,mocking,fb-graph,Ruby On Rails,Unit Testing,Rspec,Mocking,Fb Graph,我正在使用gem fb_图。我是rails的新手,正在尝试找出如何使用rspec模拟这个gem。() 我尝试测试的代码是: facebook_user = FbGraph::User.new('me', :access_token => access_token['credentials']['token']).fetch return facebook_user.friends 我的想法大致如下: fb_graph = mock(FbGraph) user = mock(FbGraph
facebook_user = FbGraph::User.new('me', :access_token => access_token['credentials']['token']).fetch
return facebook_user.friends
我的想法大致如下:
fb_graph = mock(FbGraph)
user = mock(FbGraph::User)
fb_graph.should_receive(:new).should_return(user)
user.should_receive(:fetch).should_return(fb_graph_user)
user.should_receive(:friends)
谢谢 我不会模仿来自gem的代码,即 但是,如果要存根该代码,请尝试以下操作:
user = stub('fbgraph user', :friends => :foo_or_whatever_you_want)
FbGraph::User.stub_chain(:new,:fetch).and_return(user)
如果您需要检查消息期望值,则需要更多的工作才能从
#new
和#fetch
返回模拟,并结合使用#should#u receive
请查找git://gist.github.com/752974.git