我不知道我在这里做错了什么:
我的控制员:
class UsersController < ApplicationController
def index
User.all
end
end
我的控制器规范:
it "" do
get :index
User.should_receive(:all)
end
然而我收到了这个错误:
1) UsersController
Failure/Error: User.should_receive(:all)
(<User(id: integer, name: string, email: string, created_at: datetime, updated_at: datetime, password_digest: string, remember_token: string) (class)>).all(any args)
expected: 1 time with any arguments
received: 0 times with any arguments
答案 0 :(得分:0)
只需交换行
it "" do
User.should_receive(:all)
get :index
end
编辑:“should_receive”告诉rspec“从现在开始,直到规范结束,用户应该收到方法:所有至少一次”,然后你调用get:index并且用户实际收到方法
另一种方式(它不起作用的方式),你调用get:index,用户接收方法:all和AFTER你告诉rspec“从现在开始,用户应该至少接收一次方法”,方法被称为在should_receive期望之前,这就是它失败的原因