確かに私は何かが欠けている...しかし何!?
私の仕様では
User.should_receive(:find).with("1").and_return(@user)
そして私のコントローラーで
User.find(params[:id])
青信号...正しい...
しかし、たとえば最初に別の方法を使用してコントローラーを変更した場合:
User.first
あるいは
User.all
私も青信号を取得します...次のようなエラーを期待していました
expected: 1 time
received: 0 times
その振る舞いを理解するためのヒントを誰か教えてもらえますか?
どうもありがとう
編集
ここで、この問題に関する詳細情報を見つけることができます: https://gist.github.com/3848429#file_user_controller_spec.rb
編集2
私の仕様は今ですが、メソッドが各 #find を呼び出していることを確認する必要があります...
describe "GET #show" do
before(:each) do
@user = mock_model(User)
should_authorize(:show, @user)
end
it "assigns the requested user to @user" do
User.should_receive(:find).with("1").twice.and_return(@user)
get :show, id: "1"
end
it "renders the :show template" do
get :show, id: "1"
response.should render_template :show
end
end