2017-03-22 4 views
0

と私は、コントローラ用のテストファイルを実行しようとしているが、私はこのエラーに実行しているよ:` 'が必要です。そのようなファイルをロードすることはできません - <controller> ./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' 

RSpecのを扱うGemfileのセクション開発/テスト専用のもの:

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 

は私がrails_helper.rbrequire File.expand_path(...)ラインをいじり試みました。私もの宝石をrspec-railsと一緒にGemfileに追加しようとしました(この問題はちょうどrspec-railsのときにも存在していました)。

提案がありますか?

答えて

0

私はこのからテストコントローラのパスを変更することによってそれを解決:これに

require './controllers/users_controller.rb'

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

私はすでにそれがファイルパスエラーであると疑っていました。そのため、私はそれらのうちの1つが機能するまで、異なる相対パスを試しました。

関連する問題