3

古い構文を使用してこれが行われるのを見てきましたshould_receiveが、Rspec 3 で Rails モジュール メソッドをスタブする方法がわかりません。

私はこれらを試しました:

OptionsHelper.stubs(:method).returns("something")
allow(OptionsHelper).to receive(:method).and_return "something"
allow_any_instance_of(ActionView::Base).to receive(:render_quick_help).and_return 'something'

しかし、実際にメソッドをスタブするものはありません。

4

1 に答える 1

1
allow_any_instance_of(ActionView::Base)

つまり、それを継承するクラスではなく、その正確なクラスのインスタンスを期待して :method.

また、ActionView::Base はクラスであり、ActionView:: はモジュールです。

さらに、モジュールはインスタンス化できないため、理論的には allow_any_instance_of(ActionView).to ... は効果がありません。

解決策ではないことはわかっていますが、正しい方向に向ける必要があります。

于 2014-08-25T14:38:02.660 に答える