运行rspec时,我有以下错误。
bundler: failed to load command: rspec (/home/bastien/.rbenv/versions/2.3.1/bin/rspec)
NameError: uninitialized constant CarrierWave::Storage::Fog这是我的宝石文件的“测试部分”。
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.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仍然不能工作。有没有人知道我如何解决这个问题?有没有一个快速和肮脏的修复,可以让我测试应用程序的其他部分,排除载波相关的项目?谢谢。
发布于 2017-06-19 20:24:47
生成问题的文件位于上载器文件夹(doc_uploader.rb)中。
没有正确地声明测试环境。
if Rails.env.development?
storage :file
else
storage :fog
end我不得不改变成
if Rails.env.development? || Rails.env.test?
storage :file
else
storage :fog
endhttps://stackoverflow.com/questions/44591742
复制相似问题