这是一段代码,它会在第5行引发错误"错误的args数(1为0):
describe 'PATCH #update' do
context 'title is empty' do
it 'should not update page' do
page = create(:page)
patch :update, { id: page.id, page: FactoryGirl.attributes_for(:page, title: nil) }, format: :json
expect(response).to have_http_status(:unprocessable_entity)
end
end
end
Rails控制器:
def update
if @page.update(page_params)
render json: @page
else
status :unprocessable_entity
end
end
其他测试工作得很好,但这对于#update's else
来说并不合适。
广东话'得到它,问题是什么,我该如何解决这个问题? (功能正常,但测试失败)
答案 0 :(得分:1)
您需要将update
方法更改为
def update
if @page.update(page_params)
render json: @page
else
render json: @page.errors, status: :unprocessable_entity
end
end