我正在尝试使用RSpec(2.x)测试控制器中的render方法。 这是我的控制器中的代码:
respond_to do |format| format.html # index.html.erb format.json { render :json => @entities, :include => :properties, :overview => options[:overview] } end
这是我在我的spec文件中尝试的测试:
controller.should_receive(:render).with( hash_including(:overview => true) )
问题是RSpec告诉我没有为render提供参数(“got:(no args)”)。甚至不是:json one。如何正确存根渲染方法?
答案 0 :(得分:4)
如果要测试render :json
,只需检查响应是否包含JSON字符串。
简化示例:response.body.should == @object.to_json
如果您只想使用controller.stub!(:render)