Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rspec Carrierwave/fog/aws_Ruby On Rails_Amazon Web Services_Rspec_Fog - Fatal编程技术网

Ruby on rails Rspec Carrierwave/fog/aws

Ruby on rails Rspec Carrierwave/fog/aws,ruby-on-rails,amazon-web-services,rspec,fog,Ruby On Rails,Amazon Web Services,Rspec,Fog,我正在尝试开始测试我的应用程序(无可否认,我没有遵循良好的TDD,因为我是在事后编写测试)。当我运行它时,我得到了下面的错误,即使我现在没有用上传程序测试任何东西 /home/action/.gem/ruby/2.1.1/gems/fog-core-1.30.0/lib/fog/core/service.rb:244:in `validate_options': Missing required arguments: aws_access_key_id, aws_secret_access_ke

我正在尝试开始测试我的应用程序(无可否认,我没有遵循良好的TDD,因为我是在事后编写测试)。当我运行它时,我得到了下面的错误,即使我现在没有用上传程序测试任何东西

/home/action/.gem/ruby/2.1.1/gems/fog-core-1.30.0/lib/fog/core/service.rb:244:in `validate_options': Missing required arguments: aws_access_key_id, aws_secret_access_key (ArgumentError) 
我使用Figaro gem在application.yml文件中正确定义了aws密钥,因此我不确定为什么会出现此错误

当我自己从浏览器上传图片时,一切都很好。唯一的问题是,当我使用rspec运行我的测试套件时,我得到了这个错误

carrierwave.rb

CarrierWave.configure do |config|
  config.fog_credentials = {
    provider:               'AWS',                        # required
    aws_access_key_id:      ENV['aws_access_key_id'],     # required
    aws_secret_access_key:  ENV['aws_secret_access_key']  # required
  }
  config.fog_directory  = 'tracklocal'                     # required
  config.fog_public     = false          # optional, defaults to true
  config.fog_attributes = {'Cache-Control'=>"max-age=#{365.day.to_i}"} # optional, defaults to {}
end
require 'spec_helper'

describe Company do

    it { should validate_presence_of(:company_name)}

end
我现在测试的是:

公司规范rb

CarrierWave.configure do |config|
  config.fog_credentials = {
    provider:               'AWS',                        # required
    aws_access_key_id:      ENV['aws_access_key_id'],     # required
    aws_secret_access_key:  ENV['aws_secret_access_key']  # required
  }
  config.fog_directory  = 'tracklocal'                     # required
  config.fog_public     = false          # optional, defaults to true
  config.fog_attributes = {'Cache-Control'=>"max-age=#{365.day.to_i}"} # optional, defaults to {}
end
require 'spec_helper'

describe Company do

    it { should validate_presence_of(:company_name)}

end
但我甚至不能运行那个测试。我是测试的新手,所以这里的任何帮助都将不胜感激

完整跟踪:

/home/action/.gem/ruby/2.1.1/gems/fog-core-1.30.0/lib/fog/core/service.rb:244:in `validate_options': Missing required arguments: aws_access_key_id, aws_secret_access_key (ArgumentError)                                                                                   
    from /home/action/.gem/ruby/2.1.1/gems/fog-core-1.30.0/lib/fog/core/service.rb:268:in `handle_settings'                                                                                                                                                             
    from /home/action/.gem/ruby/2.1.1/gems/fog-core-1.30.0/lib/fog/core/service.rb:98:in `new'                                                                                                                                                                          
    from /home/action/.gem/ruby/2.1.1/gems/fog-core-1.30.0/lib/fog/storage.rb:25:in `new'                                                                                                                                                                               
    from /home/action/.gem/ruby/2.1.1/gems/carrierwave-0.10.0/lib/carrierwave/uploader/configuration.rb:83:in `eager_load_fog'                                                                                                                                          
    from /home/action/.gem/ruby/2.1.1/gems/carrierwave-0.10.0/lib/carrierwave/uploader/configuration.rb:96:in `fog_credentials='                                                                                                                                        
    from /home/action/workspace/servicepay/config/initializers/carrierwave.rb:2:in `block in <top (required)>'                                                                                                                                                          
    from /home/action/.gem/ruby/2.1.1/gems/carrierwave-0.10.0/lib/carrierwave/uploader/configuration.rb:118:in `configure'                                                                                                                                              
    from /home/action/.gem/ruby/2.1.1/gems/carrierwave-0.10.0/lib/carrierwave.rb:14:in `configure'                                                                                                                                                                      
    from /home/action/workspace/servicepay/config/initializers/carrierwave.rb:1:in `<top (required)>'                                                                                                                                                                   
    from /home/action/.gem/ruby/2.1.1/gems/activesupport-4.1.0/lib/active_support/dependencies.rb:241:in `load'                                                                                                                                                         
    from /home/action/.gem/ruby/2.1.1/gems/activesupport-4.1.0/lib/active_support/dependencies.rb:241:in `block in load'                                                                                                                                                
    from /home/action/.gem/ruby/2.1.1/gems/activesupport-4.1.0/lib/active_support/dependencies.rb:232:in `load_dependency'                                                                                                                                              
    from /home/action/.gem/ruby/2.1.1/gems/activesupport-4.1.0/lib/active_support/dependencies.rb:241:in `load'                                                                                                                                                         
    from /home/action/.gem/ruby/2.1.1/gems/railties-4.1.0/lib/rails/engine.rb:648:in `block in load_config_initializer'                                                                                                                                                 
    from /home/action/.gem/ruby/2.1.1/gems/activesupport-4.1.0/lib/active_support/notifications.rb:161:in `instrument'                                                                                                                                                  
    from /home/action/.gem/ruby/2.1.1/gems/railties-4.1.0/lib/rails/engine.rb:647:in `load_config_initializer'                                                                                                                                                          
    from /home/action/.gem/ruby/2.1.1/gems/railties-4.1.0/lib/rails/engine.rb:612:in `block (2 levels) in <class:Engine>'                                                                                                                                               
    from /home/action/.gem/ruby/2.1.1/gems/railties-4.1.0/lib/rails/engine.rb:611:in `each'                                                                                                                                                                             
    from /home/action/.gem/ruby/2.1.1/gems/railties-4.1.0/lib/rails/engine.rb:611:in `block in <class:Engine>'                                                                                                                                                          
    from /home/action/.gem/ruby/2.1.1/gems/railties-4.1.0/lib/rails/initializable.rb:30:in `instance_exec'                                                                                                                                                              
    from /home/action/.gem/ruby/2.1.1/gems/railties-4.1.0/lib/rails/initializable.rb:30:in `run'                                                                                                                                                                        
    from /home/action/.gem/ruby/2.1.1/gems/railties-4.1.0/lib/rails/initializable.rb:55:in `block in run_initializers'                                                                                                                                                  
    from /home/action/.parts/packages/ruby2.1/2.1.1/lib/ruby/2.1.0/tsort.rb:226:in `block in tsort_each'                                                                                                                                                                
    from /home/action/.parts/packages/ruby2.1/2.1.1/lib/ruby/2.1.0/tsort.rb:348:in `block (2 levels) in each_strongly_connected_component'                                                                                                                              
    from /home/action/.parts/packages/ruby2.1/2.1.1/lib/ruby/2.1.0/tsort.rb:418:in `block (2 levels) in each_strongly_connected_component_from'                                                                                                                         
    from /home/action/.parts/packages/ruby2.1/2.1.1/lib/ruby/2.1.0/tsort.rb:427:in `each_strongly_connected_component_from'                                                                                                                                             
    from /home/action/.parts/packages/ruby2.1/2.1.1/lib/ruby/2.1.0/tsort.rb:417:in `block in each_strongly_connected_component_from'                                                                                                                                    
    from /home/action/.gem/ruby/2.1.1/gems/railties-4.1.0/lib/rails/initializable.rb:44:in `each'                                                                                                                                                                       
    from /home/action/.gem/ruby/2.1.1/gems/railties-4.1.0/lib/rails/initializable.rb:44:in `tsort_each_child'                                                                                                                                                           
    from /home/action/.parts/packages/ruby2.1/2.1.1/lib/ruby/2.1.0/tsort.rb:411:in `call'                                                                                                                                                                               
    from /home/action/.parts/packages/ruby2.1/2.1.1/lib/ruby/2.1.0/tsort.rb:411:in `each_strongly_connected_component_from'                                                                                                                                             
    from /home/action/.parts/packages/ruby2.1/2.1.1/lib/ruby/2.1.0/tsort.rb:347:in `block in each_strongly_connected_component'                                                                                                                                         
    from /home/action/.parts/packages/ruby2.1/2.1.1/lib/ruby/2.1.0/tsort.rb:345:in `each'                                                                                                                                                                               
    from /home/action/.parts/packages/ruby2.1/2.1.1/lib/ruby/2.1.0/tsort.rb:345:in `call'                                                                                                                                                                               
    from /home/action/.parts/packages/ruby2.1/2.1.1/lib/ruby/2.1.0/tsort.rb:345:in `each_strongly_connected_component'                                                                                                                                                  
    from /home/action/.parts/packages/ruby2.1/2.1.1/lib/ruby/2.1.0/tsort.rb:224:in `tsort_each'                                                                                                                                                                         
    from /home/action/.parts/packages/ruby2.1/2.1.1/lib/ruby/2.1.0/tsort.rb:205:in `tsort_each'                                                                                                                                                                         
    from /home/action/.gem/ruby/2.1.1/gems/railties-4.1.0/lib/rails/initializable.rb:54:in `run_initializers'                                                                                                                                                           
    from /home/action/.gem/ruby/2.1.1/gems/railties-4.1.0/lib/rails/application.rb:288:in `initialize!'                                                                                                                                                                 
    from /home/action/workspace/servicepay/config/environment.rb:5:in `<top (required)>'                                                                                                                                                                                
    from /home/action/.parts/packages/ruby2.1/2.1.1/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'                                                                                                                                                  
    from /home/action/.parts/packages/ruby2.1/2.1.1/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'                                                                                                                                                  
    from /home/action/workspace/servicepay/spec/spec_helper.rb:3:in `<top (required)>'                                                                                                                                                                                  
    from /home/action/.parts/packages/ruby2.1/2.1.1/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'                         
/home/action/.gem/ruby/2.1.1/gems/fog-core-1.30.0/lib/fog/core/service.rb:244:在“验证选项”中:缺少必需的参数:aws\u访问密钥\u id、aws\u机密密钥\u访问密钥(ArgumentError)
来自/home/action/.gem/ruby/2.1.1/gems/fog-core-1.30.0/lib/fog/core/service.rb:268:在“句柄设置”中
from/home/action/.gem/ruby/2.1.1/gems/fog-core-1.30.0/lib/fog/core/service.rb:98:in'new'
from/home/action/.gem/ruby/2.1.1/gems/fog-core-1.30.0/lib/fog/storage.rb:25:in'new'
from/home/action/.gem/ruby/2.1.1/gems/carrierwave-0.10.0/lib/carrierwave/uploader/configuration.rb:83:in'eager\u load\u fog'
来自/home/action/.gem/ruby/2.1.1/gems/carrierwave-0.10.0/lib/carrierwave/uploader/configuration.rb:96:in'fog_-credentials='10〕
from/home/action/workspace/servicepay/config/initializers/carrierwave.rb:2:in'block in'
来自/home/action/.gem/ruby/2.1.1/gems/carrierwave-0.10.0/lib/carrierwave/uploader/configuration.rb:118:in“configure”
from/home/action/.gem/ruby/2.1.1/gems/carrierwave-0.10.0/lib/carrierwave.rb:14:在“配置”中
来自/home/action/workspace/servicepay/config/initializers/carrierwave.rb:1:in`'
from/home/action/.gem/ruby/2.1.1/gems/activesupport-4.1.0/lib/active\u support/dependencies.rb:241:in'load'
from/home/action/.gem/ruby/2.1.1/gems/activesupport-4.1.0/lib/active\u support/dependencies.rb:241:in'block in load'
from/home/action/.gem/ruby/2.1.1/gems/activesupport-4.1.0/lib/active\u support/dependencies.rb:232:in'load\u dependencity'
from/home/action/.gem/ruby/2.1.1/gems/activesupport-4.1.0/lib/active\u support/dependencies.rb:241:in'load'
from/home/action/.gem/ruby/2.1.1/gems/railties-4.1.0/lib/rails/engine.rb:648:in“block in load\u config\u initializer”
from/home/action/.gem/ruby/2.1.1/gems/activesupport-4.1.0/lib/active\u support/notifications.rb:161:in'instrument'
from/home/action/.gem/ruby/2.1.1/gems/railties-4.1.0/lib/rails/engine.rb:647:in'load\u config\u initializer'
from/home/action/.gem/ruby/2.1.1/gems/railties-4.1.0/lib/rails/engine.rb:612:in'block(2层)in'
from/home/action/.gem/ruby/2.1.1/gems/railties-4.1.0/lib/rails/engine.rb:611:in'each'
from/home/action/.gem/ruby/2.1.1/gems/railties-4.1.0/lib/rails/engine.rb:611:in'block-in'
development:
   aws_access_key_id: '#################'
   aws_secret_access_key '##############'