Ruby 使用rake任务运行RSPEC,并将命令行选项传递到spec文件中

Ruby 使用rake任务运行RSPEC,并将命令行选项传递到spec文件中,ruby,rspec,rake,Ruby,Rspec,Rake,我正在尝试使用rake任务运行Rspec: namespace :smoke_test do begin desc 'Running Rspec examples using rake' RSpec::Core::RakeTask.new(:spec) do |x| x.pattern = 'smoke_tests/specs/test_spec.rb' end task

我正在尝试使用rake任务运行Rspec:

namespace :smoke_test do   
  begin                        
    desc 'Running Rspec examples using rake'   
    RSpec::Core::RakeTask.new(:spec) do |x|  
      x.pattern = 'smoke_tests/specs/test_spec.rb'   
    end    
    task :default => :spec  
  rescue LoadError    
    # no rspec available   
  end
end
test_specs.rb文件包含一个在CommonSettings文件中定义的变量, (公共_设置($options[:environment])(以便规范可以在不同的环境中运行)

namespace :smoke_test do   
  begin                        
    desc 'Running Rspec examples using rake'   
    RSpec::Core::RakeTask.new(:spec) do |x|  
      x.pattern = 'smoke_tests/specs/test_spec.rb'   
    end    
    task :default => :spec  
  rescue LoadError    
    # no rspec available   
  end
end
我使用以下命令来运行rake任务,并希望在Rspec中设置变量,但它没有(我有一个Rakefile,它获取命令行选项并验证它们,等等):

namespace :smoke_test do   
  begin                        
    desc 'Running Rspec examples using rake'   
    RSpec::Core::RakeTask.new(:spec) do |x|  
      x.pattern = 'smoke_tests/specs/test_spec.rb'   
    end    
    task :default => :spec  
  rescue LoadError    
    # no rspec available   
  end
end

我尝试过其他一些很难在这里解释的事情,也看了其他人的问题和答案,找不到一个非常明确的答案。

rake RAILS\u ENV=QA\u Local smoke\u test:spec
?可能重复我已经尝试过的,但没有起作用。大多数情况下,rspec没有阅读$options[:environment]
namespace :smoke_test do   
  begin                        
    desc 'Running Rspec examples using rake'   
    RSpec::Core::RakeTask.new(:spec) do |x|  
      x.pattern = 'smoke_tests/specs/test_spec.rb'   
    end    
    task :default => :spec  
  rescue LoadError    
    # no rspec available   
  end
end