如何使用Rspec的guard更改环境变量

时间:2013-08-23 08:54:13

标签: ruby-on-rails rspec guard

我正在使用RSpec和Guard来测试我的rails应用程序。

这一切都运行良好,但如果没有设置环境变量,我会忽略一些标记。

例如:

RSpec.configure do |config|
  config.use_transactional_fixtures = false

  config.include FactoryGirl::Syntax::Methods

  config.treat_symbols_as_metadata_keys_with_true_values = true
  config.filter_run focus: true
  config.run_all_when_everything_filtered = true

  config.filter_run_excluding :slow unless ENV["SLOW_SPECS"]
end

所以标记为:slow的规范只会在我的环境中SLOW_SPECS = 1时运行

如何在不重新启动保护的情况下更改此值?

1 个答案:

答案 0 :(得分:-1)

假设您正在使用guard-rspec来运行您的规范,您可以使用cmd选项传入任何环境变量,例如:

guard :rspec, cmd: 'SLOW_SPECS=false spring rspec' ...

并更新您的RSpec配置以包括:

config.filter_run_excluding :slow unless ENV["SLOW_SPECS"] == "1"