【发布时间】:2011-05-26 12:20:48
【问题描述】:
我在尝试将帮助模块包含到测试中时遇到未初始化的常量错误。
我的 rails 测试目录中有以下文件
functional> admin> school_controller_test.rb
functional> controller_helper.rb
类/模块主体如下:
module ControllerHelper
def check_sort_order (items, column, direction)
...
end
end
class Admin::SchoolsControllerTest < ActionController::TestCase
include ::ControllerHelper
test "should sort by columns" do
check_sort_order(assigns(:schools), 'schools.name', 'asc')
check_sort_order(assigns(:schools), 'schools.name', 'desc')
end
end
当我运行它时,测试输出是:
/.../.rvm/gems/ruby-1.9.2-p0/gems/rspec-core-2.3.0/lib/rspec/core/backward_compatibility.rb:20:in `const_missing': 未初始化的常量ControllerHelper (NameError)
我尝试过使用命名空间,但根本无法将模块混入其中!任何想法为什么我会收到此错误?或者这甚至是提取常见测试功能的正确方法吗?我对 Rails 很陌生,所以任何建议都将不胜感激:)
干杯!
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 mixins