我试图为 Rspec 定义一些控制器宏。我使用 rails 3 并在 spec/support/macros/controller_macros.rb 中定义了我的宏,该文件如下所示:
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 没有被包括在内,但是当我在文件中添加了一个“puts”时,这表明该文件至少正在被执行。
我看不出我的设置有什么问题,将 login_admin 方法复制到描述块中工作正常,所以我不确定它有什么问题。