无法弄清楚如何在Rails / RSpec中包含某个文件

时间:2012-10-02 23:14:31

标签: ruby-on-rails ruby rspec

我在lib/test/company.rb中有以下代码:

module Test
  class Company
    # irrelevant stuff
  end
end

spec/model/request.rb中,我尝试了以下所有内容:

require "company"
require "lib/test/company"
require "lib/test/company.rb"
require Rails.root + "/lib/test/company.rb"

这些都没有,在课堂上肯定没有自动加载。发生了什么事?

2 个答案:

答案 0 :(得分:1)

在您的spec文件中:

require "test/company"

如果你想从lib自动加载所有模块/类,这是不必要的。为此,请添加到application.rb文件中的配置块:

module YourApp
  class Application < Rails::Application

    config.autoload_paths += %W( #{config.root}/lib )

  end
end

增加:

然后,您可以从顶级命名空间调用Test::Company来访问此类。

答案 1 :(得分:0)

尝试require "#{Rails.root}/lib/test/company