`require&#39;:无法使用Rspec加载此类文件 - ./controllers/ <controller>(LoadError)

时间:2017-03-22 13:20:14

标签: ruby-on-rails testing rspec automated-tests

我试图为控制器运行测试文件,但我遇到了这个错误:

  

/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' ;:无法加载此类文件 - ./controllers/users_controller   (LoadError)

我认为rspec无法找到它应该测试的实际文件。

测试文件 public void disableInput(ValueChangeEvent event){ String selectedVal= event.getNewValue().toString(); if("true".equalsIgnoreCase(selectedVal)){ disabled=true; } else if("false".equalsIgnoreCase(selectedVal)){ disabled=false; } } `

users_controller_spec.rb

require 'rails_helper' require './controllers/users_controller' describe UsersController do describe '#create' do ... end end 的标题/序言,处理文件路径(我认为):

rails_helper.rb

Gemfile中处理rspec和开发/测试特定内容的部分:

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'

项目树:

group :development, :test do
  gem 'spring'
  gem 'rspec', '~>3.5'
  gem 'rspec-rails', '~>3.5' 
end

我已尝试使用 ->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 gem添加到Gemfile旁边rspec(问题也存在于rspec-rails时)。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

我通过改变测试中控制器的路径解决了这个问题:

&=

对此:

require './controllers/users_controller.rb'

我已经怀疑这是一个文件路径错误,所以我尝试了不同的相对路径,直到其中一个工作。