Ruby on rails Rspec绑定器:未能加载命令:Rspec
运行rspec时出现以下错误Ruby on rails Rspec绑定器:未能加载命令:Rspec,ruby-on-rails,ruby,rspec,Ruby On Rails,Ruby,Rspec,运行rspec时出现以下错误 bundler: failed to load command: rspec (/home/bastien/.rbenv/versions/2.3.1/bin/rspec) NameError: uninitialized constant CarrierWave::Storage::Fog 这是我的GEM文件的“测试部分” group :development, :test do gem 'rspec' gem 'rspec-rails' gem 'factor
bundler: failed to load command: rspec (/home/bastien/.rbenv/versions/2.3.1/bin/rspec)
NameError: uninitialized constant CarrierWave::Storage::Fog
这是我的GEM文件的“测试部分”
group :development, :test do
gem 'rspec'
gem 'rspec-rails'
gem 'factory_girl_rails'
gem 'capybara'
gem 'selenium-webdriver'
gem 'database_cleaner'
gem 'shoulda-matchers'
gem 'spring'
end
我已经尝试了很多方法来纠正这个问题,包括增加这两种方法
rails_helper.rb
spec_helper.rb
这些不同的要求
require 'spec_helper'
require 'rails_helper'
require 'rspec/rails'
require 'carrierwave'
require "rails_helper"
require 'rails/all'
require 'rubygems'
编辑
Carrierwave初始值设定项文件
CarrierWave.configure do |config|
config.fog_credentials = {
provider: 'AWS',
aws_access_key_id: ENV['S3_KEY'],
aws_secret_access_key: ENV['S3_SECRET'],
region: 'us-east-1'
}
if Rails.env.test? || Rails.env.cucumber?
CarrierWave.configure do |config|
config.storage = :file
config.enable_processing = false
end
end
config.cache_dir = "#{Rails.root}/tmp/uploads"
config.fog_directory = ENV['S3_BUCKET_NAME']
end
当应用程序正常工作时,Rspec仍然不工作。有人知道我如何解决这个问题吗?是否有一个快速而肮脏的修复程序,允许我通过排除carrierwave相关项目来测试应用程序的其他部分?谢谢。生成问题的文件位于uploader文件夹(doc\u uploader.rb)中 未使用正确声明测试环境
if Rails.env.development?
storage :file
else
storage :fog
end
我必须换成
if Rails.env.development? || Rails.env.test?
storage :file
else
storage :fog
end
您是否尝试过在google上搜索未初始化的常量CarrierWave::Storage::Fog?有很多选项:Gemfile、CarrierWave初始值设定项、根据Env.Hi Bastien配置CarrierWave/Fog的任何位置。您的
初始值设定项/carrierwave.rb
rile看起来像什么?