Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 4 RSPEC无法识别我的模块或类_Ruby On Rails 4_Rspec_Module_Ruby 2.0 - Fatal编程技术网

Ruby on rails 4 RSPEC无法识别我的模块或类

Ruby on rails 4 RSPEC无法识别我的模块或类,ruby-on-rails-4,rspec,module,ruby-2.0,Ruby On Rails 4,Rspec,Module,Ruby 2.0,在Rails 4程序的lib/A/B/C.rb中,我有一个类,如下所示: module A module B class C end end end require 'spec_helper' describe A::B::C do end 我想测试这个类,并试图在spec/lib/A/B/C_spec.rb中编写一个RSPEC测试。档案如下: module A module B class C end

在Rails 4程序的
lib/A/B/C.rb
中,我有一个类,如下所示:

module A
    module B
        class C
        end
    end
end
require 'spec_helper'

describe A::B::C do
end
我想测试这个类,并试图在
spec/lib/A/B/C_spec.rb
中编写一个RSPEC测试。档案如下:

module A
    module B
        class C
        end
    end
end
require 'spec_helper'

describe A::B::C do
end
但是,我在运行测试时遇到以下错误:

{path}/spec/lib/A/B/C.rb:3:in `<top (required)>': uninitialized constant A (NameError)
{path}/spec/lib/A/B/C.rb:3:in`:未初始化常量A(NameError)

根据其他帖子,我试图通过添加
config.autoload_路径来解决这个问题,我自己也能解决这个问题。以下是如何:

(1) 在
spec/lib/A/B/C\u spec.rb
中,我用
rails\u helper
替换了
spec\u helper

(2) 我将这一行添加到
config/application.rb

config.autoload_paths << Rails.root.join("lib")
config.autoload\u路径