【发布时间】:2011-02-09 21:07:21
【问题描述】:
我编写了以下规范:
它“应该调用 user.invite_friend” 用户 = mock_model(用户,:id => 1) other_user = mock_model(用户,:id => 2) User.stub!(:find).with(user.id).and_return(user) User.stub!(:find).with(other_user.id).and_return(other_user) user.should_receive(:invite_friend).with(other_user) 发布:邀请,{ :id => other_user.id },{:user_id => user.id} 结尾但是当我运行规范时出现以下错误
'UsersController POST 邀请中的 NoMethodError 应调用 user.invite_friend' # Class:0x86d6918 的未定义方法“find” app/controllers/users_controller.rb:144:in `invite' ./spec/controllers/users_controller_spec.rb:13:错在哪里?没有 .with 它工作得很好,但我希望存根方法的不同参数有不同的返回值。以下控制器的操作可能是相关的:
定义邀请 me.invite_friend(User.find 参数[:id]) respond_to 做 |格式| format.html { redirect_to user_path(params[:id]) } 结尾 结尾 定义我 用户.find(会话[:user_id]) 结尾【问题讨论】:
标签: ruby-on-rails rspec mocking