Jos*_*eim 5 specifications controller nested ruby-on-rails
我有一个ReportsController
嵌套ProjectsController
的#show
方法:
def show
# Some stuff
do_something(@report)
end
Run Code Online (Sandbox Code Playgroud)
路线:
resources :projects do
resources :reports
end
Run Code Online (Sandbox Code Playgroud)
我需要测试该do_something
方法是否被调用:
it 'calls do_something' do
expect(controller).to receive(:do_something)
project = create :project
report = create :report, project: project
get :show, params: {project_id: project.id, id: report.id}
end
Run Code Online (Sandbox Code Playgroud)
我放置binding.pry
在#show
动作中,但这不会被调用.那么我的规格有什么问题?
问题是我没有登录:
before do
@user = create :user, :admin
sign_in_as @user
end
Run Code Online (Sandbox Code Playgroud)