2017-03-22 87 views
0

我試圖運行控制器的測試文件./controllers/ (LoadError),但我遇到了此問題: '需要':無法加載這樣的文件 - 使用RSpec

/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時,問題也存在)。

有什麼建議嗎?

回答

0

我解決它通過從該改變中的測試控制器的路徑:

require './controllers/users_controller.rb'

向該:

require './app/controllers/users_controller.rb'

我已經懷疑它是一個文件路徑錯誤,所以我只是嘗試了不同的相對路徑,直到其中一個工作。

相關問題