我的控制器中有一行代码,如下所示:
user.calendar.upcoming_events
其中“upcoming_events”是一个 api 调用。我正在为用户控制器创建测试,并且我想避免在我的测试中实际执行 API 调用。如何存根“upcoming_events”?
我希望这会奏效,但到目前为止还没有。
let(:calendar) { double(:calendar, upcoming_events: []) }
before
user.stub(:calendar).and_return(calendar)
sign_in user
end
get :index
it { response.should be_success }
这抛出
NoMethodError:
undefined method `upcoming_events' for nil:NilClass
知道我出了什么问题吗?