在我的ApplicationController我有一個方法定義爲一個輔助方法:如何測試定義爲輔助方法的ApplicationController方法?
helper_method :some_method_here
- 我如何RSpec的測試ApplicationController的呢?
- 如何在測試我的視圖/幫助器時包含/調用此幫助器方法?
我使用Rails3中與RSpec2
在我的ApplicationController我有一個方法定義爲一個輔助方法:如何測試定義爲輔助方法的ApplicationController方法?
helper_method :some_method_here
我使用Rails3中與RSpec2
您可以使用anonymous controller來測試你的ApplicationController,作爲RSpec的文檔中描述。還有一個關於testing helpers的部分。
您可以在規範中調用subject
或@controller
上的幫助器方法。
我一直在尋找這個問題的解決方案,匿名控制器不是我正在尋找的。比方說,你有住在app/controllers/application_controller.rb
與未綁定到一個REST路徑的簡單方法控制器:
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
可以在這裏互換使用,我會爲subject
作爲它現在的RSpec慣用方式。
不知何故,我錯過了匿名控制器!謝謝! – Mirko 2011-01-19 19:38:57
正是我需要知道的! – Matthew 2011-11-02 18:13:59