RSPEC无法识别我的模块或课程

时间:2014-12-31 23:06:12

标签: 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

我想测试这个类,并尝试在spec/lib/A/B/C_spec.rb中编写RSPEC测试。该文件如下:

require 'spec_helper'

describe A::B::C do
end

但是,我在运行测试时遇到此错误:

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

根据其他帖子,我尝试通过将config.autoload_paths << Rails.root.join("lib")和类似内容添加到config/application.rb来解决问题。但它似乎并没有起作用。如何让测试识别模块和类?

1 个答案:

答案 0 :(得分:2)

我能够自己解决这个问题。方法如下:

(1)在spec/lib/A/B/C_spec.rb中,我将spec_helper替换为rails_helper

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

config.autoload_paths << Rails.root.join("lib")