在我的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
来解决问题。但它似乎并没有起作用。如何让测试识别模块和类?
答案 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")