2

RSpec(2.x)を使用してコントローラーでrenderメソッドをテストしようとしています。ここに私のコントローラーのコードがあります:

response_todo|フォーマット|
  format.html#index.html.erb
  format.json {render:json => @entities、:include =>:properties、:overview => options [:overview]}
終わり

そして、ここで私がスペックファイルで試したテスト:

controller.should_receive(:render).with(hash_include(:overview => true))

問題は、RSpecがrenderに引数が提供されていないことを教えてくれることです( "got:(no args)")。:jsonのものでさえありません。レンダリングメソッドを正しくスタブするにはどうすればよいですか?

4

1 に答える 1

4

をテストする場合render :jsonは、応答にJSON文字列が含まれていることを確認してください。

簡略化した例:response.body.should == @object.to_json

レンダリングメソッドをスタブしたいだけの場合は、controller.stub!(:render)

于 2011-01-19T18:06:46.873 に答える