2

そこで私は、jeditable-railsと呼ばれるJeditable jQuery プラグインで使用するヘルパーを提供する gem に取り組んでいます。これらのヘルパーは基本的に、フォームを作成する JavaScript を記述しています。

次のようなことをして、リクエスト/コントローラー仕様内でテンプレートをスタブしようとしています:

gadget = Gadget.create!(:name => 'foo')
stub_template 'gadgets/edit.html.erb' => "<%= editable_field(@gadget, :name) %>"
# using Capybara
visit edit_gadget_path(gadget)
# fill out form, submit, etc.

これをリクエスト仕様で実行すると、エラーが発生しますundefined method 'stub_template'。リクエスト仕様で使用することは可能ですstub_templateか、それとも別の方法がありますか?

4

1 に答える 1

1

これはRubyなので、おそらく可能ですが、それは与えられたものではありません。

RSpecリクエストスペックは、ほとんどの作業をRails統合テストに委任します。Rails統合テストは、複数のリクエストをサポートするため、複数のコントローラー/ビューをサポートします。stub_templateビューインスタンスへのアクセスが必要ですが、リクエスト仕様ではアクセスできません。

于 2011-06-17T14:33:20.780 に答える