我试图为控制器运行测试文件,但我遇到了这个错误:
/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
时)。
有什么建议吗?
答案 0 :(得分:1)
我通过改变测试中控制器的路径解决了这个问题:
&=
对此:
require './controllers/users_controller.rb'
。
我已经怀疑这是一个文件路径错误,所以我尝试了不同的相对路径,直到其中一个工作。