admin> school_controller_test.rb functi-6ren">
gpt4 book ai didi

ruby-on-rails - "uninitialized constant"当包含测试助手模块时

转载 作者:数据小太阳 更新时间:2023-10-29 07:05:55 25 4
gpt4 key购买 nike

我在尝试将辅助模块包含到测试中时遇到未初始化的常量错误。

我的 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': 未初始化常量 Controller 助手(名称错误)

我试过使用命名空间,但根本无法混合模块!为什么我会收到此错误的任何想法?或者这甚至是提取通用测试函数的正确方法?我是 Rails 的新手,所以任何建议将不胜感激:)

干杯!

最佳答案

尝试将此添加到 test_helper.rb:

require "test/functional/controller_helper"

旁注:不确定 test:unit,但 rspec 有一个 spec/support 目录用于自动加载文件。

关于ruby-on-rails - "uninitialized constant"当包含测试助手模块时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4460400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com