【发布时间】:2015-05-22 15:41:07
【问题描述】:
我有一个控制器“A”,它需要 app/lib 子目录中的文件(例如:app/lib/a_folder/my_class.rb)。
所以我做了这样的事情:
require 'a_folder/my_class'
class AController < ApplicationController
# Some stuff using MyClass
end
当我使用应用程序时它运行良好,但在我启动 RSpec 时不起作用。
这就是我的 RSpec 文件的外观:
require 'spec_helper'
require 'lib/import_functions' # Rails.root/spec/lib/import_functions.rb
RSpec.describe AController, type: controller do
# My tests routines
end
当我启动 rspec 时,它告诉我控制器文件中的 require 没有找到该文件(`require':无法加载此类文件),而当我启动应用程序时它运行良好。
我在 require 之前添加了 puts $LOAD_PATH,但 Rails.root/app/lib 似乎不存在。
我使用 Rails 3.2 和 rspec-rails 3.2。
请问有人知道为什么会发生这种情况以及如何解决吗?
感谢您以后的回答。
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 rspec