私のApplicationControllerには、ヘルパーメソッドとして定義されたメソッドがあります。
helper_method :some_method_here
RSpec2でRails3を使用しています
仕様のsubject
または@controller
でヘルパーメソッドを呼び出すことができます。
私はこの問題の解決策を探していましたが、匿名のコントローラーは私が探していたものではありませんでした。 RESTパスにバインドされていない単純なメソッドを持つapp/controllers/application_controller.rb
に住んでいるコントローラーがあるとします:
class ApplicationController < ActionController:Base
def your_helper_method
return 'a_helpful_string'
end
end
次に、次のようにspec/controllers/application_controller_spec.rb
にテストを記述できます。
require 'spec_helper'
describe ApplicationController do
describe "#your_helper_method" do
it "returns a helpful string" do
expect(subject.your_helper_method).to eq("a_helpful_string")
end
end
end
ここでは@controller
とsubject
を交換可能に使用できますが、現時点ではRSpecの慣用的な方法としてsubject
を使用します。