我試圖爲Rspec定義一些控制器宏。使用Rails 3和投機/支持/宏/ controller_macros.rb已經定義了我的宏林,這個文件看起來像這樣:在Rspec中添加控制器宏
module ControllerMacros
def self.login_admin
#code
end
end
在我的規格幫手
我:
config.include(ControllerMacros, :type => :controller)
在
所以我控制器規格我只是叫login_admin在我的管理測試,但是當過我使用的方法,我得到
undefined local variable or method `login_admin' for #<Class:0xb6de4854> (NameError)
起初,我以爲沒有被列入該controller_macros.rb但是當我添加了一個「放」到文件但那顯示該文件至少正在執行。
我無法看到我的設置有任何問題,並將login_admin方法複製到describe塊中工作正常,所以我不知道它有什麼問題。
我不是這方面的專家,但我認爲這是做與範圍(自我。 )在課堂上定義的方法。您可能需要包含它或使用base.included或base.extended擴展它,或者刪除自己。 – scaney 2010-11-19 22:01:00
對不起self.included或自我。擴展 – scaney 2010-11-19 22:07:58