我正在尝试在 Rails 控制器中从使用 respond_to 切换到 respond_with。一切都很顺利,除了在控制器规格中测试无效保存。这是一个例子:
描述 MyController 做...
describe "PUT update" do
context "with invalid attributes" do
it "should re-render the edit page" do
style = stub_model(Style)
Style.stub(:find) { style }
Style.any_instance.stub(:save).and_return(false)
put :update
response.should render_template(:edit)
end
end
end
end
这适用于我的旧 response_to 样式更新操作,但使用 respond_with,我得到
失败/错误:response.should render_template("edit")
所以,简而言之 - 我如何测试这个?...或者我应该假设 render_with 知道它在做什么,根本不测试?有什么一般性的建议吗?
提前喝彩
PS:更新动作:
def update
@style = Style.find(params[:id])
flash[:notice] = "Style updated" if @style.update_attributes(params[:style])
respond_with(@style)
end