'需要':无法加载这样的文件 - 使用RSpec
问题描述:
我试图运行控制器的测试文件./controllers/
/home/mariana/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:274:in `require': cannot load such file -- ./controllers/users_controller (LoadError)
我认为rspec找不到它应该测试的实际文件。
的测试文件,users_controller_spec.rb
:
require 'rails_helper'
require './controllers/users_controller'
describe UsersController do
describe '#create' do
...
end
end
的rails_helper.rb
页眉/前导码,与文件路径(我认为)涉及:
ENV['RAILS_ENV'] ||= 'test'
require File.expand_path('../../config/environment', __FILE__)
abort("The Rails environment is running in production mode!") if Rails.env.production?
require 'spec_helper'
require 'rspec/rails'
所述的Gemfile的与rspec的涉及所述部和开发/测试专用的东西:
group :development, :test do
gem 'spring'
gem 'rspec', '~>3.5'
gem 'rspec-rails', '~>3.5'
end
T他的项目树:
->project
->app
->controllers
->users_controller.rb
->spec
->controllers
->users_controller_spec.rb
->rails_helper.rb
->spec_helper.rb
我试着用require File.expand_path(...)
行rails_helper.rb
瞎搞。我也尝试将rspec
宝石与rspec-rails
一起添加到Gemfile中(当它仅仅是rspec-rails
时,问题也存在)。
有什么建议吗?
答
我解决它通过从该改变中的测试控制器的路径:
require './controllers/users_controller.rb'
向该:
require './app/controllers/users_controller.rb'
。
我已经怀疑它是一个文件路径错误,所以我只是尝试了不同的相对路径,直到其中一个工作。