3

タイトルはそれをすべて言います。

私はいくつかのことを行うコントローラー アクションを持っており、次に で定義されているメソッドを呼び出しますApplicationController

呼び出されたことをテストするにはどうすればよいですか?

controller.should_receive(:the_method_name)動作しません。
ApplicationController.should_receive(:the_method_name)動作しません。

適切な構文は何ですか?

ありがとう。

4

2 に答える 2

1

匿名コントローラーを使用して ApplicationController をテストできると思います。ドキュメントを確認してください。

于 2013-03-21T20:16:03.350 に答える
0

Gerep が提案したように AnonymousController を使用し、呼び出しcontroller.should_receive(:the_method_name)を行う必要があります。

テストを成功させるには、テスト内の位置が重要です。例を挙げると:

describe 'my test' do
  before do
    controller.should_receive(:the_method)
    get :action
  end
  it { should render_template(:your_template) }
end

この例は、 の呼び出しにも合格し、テストする必要があります:the_method

于 2013-06-04T18:18:17.407 に答える