嵌套资源:控制器规范未调用所需的操作
Nested resource: controller spec doesn't call the wanted action
我有一个 ReportsController
,嵌套在 ProjectsController
中,使用 #show
方法:
def show
# Some stuff
do_something(@report)
end
路线:
resources :projects do
resources :reports
end
我需要测试是否调用了 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
我在 #show
操作中放置了 binding.pry
,但是没有调用它。那么我的规格有什么问题吗?
问题是我没有登录:
before do
@user = create :user, :admin
sign_in_as @user
end
我有一个 ReportsController
,嵌套在 ProjectsController
中,使用 #show
方法:
def show
# Some stuff
do_something(@report)
end
路线:
resources :projects do
resources :reports
end
我需要测试是否调用了 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
我在 #show
操作中放置了 binding.pry
,但是没有调用它。那么我的规格有什么问题吗?
问题是我没有登录:
before do
@user = create :user, :admin
sign_in_as @user
end