Rspec(在设置标志时运行)

时间:2019-07-15 19:41:31

标签: rspec rspec-rails rspec3

如何仅在设置了标志的情况下运行rspec测试?

我正在使用Stripe-Ruby-Mock,它们使用了live标志。但是,我不希望在未设置-t live时运行测试。

bundle exec rspec -t live spec

it "should run rspec test, only when live is true", live: true do
  expect('value').to eq('value')
end

当前,我的测试在设置-t live且未设置的情况下运行。

2 个答案:

答案 0 :(得分:1)

您可以设置环境变量:

  

LIVE = true捆绑包执行rspec规范

然后,您可以在代码中将ENV ['LIVE']用作if(conditional filter)。 有关详细信息,请检查conditional filters

答案 1 :(得分:1)

将RSpec配置为默认使用#filter_run_excluding在您的spec_helper.rb中过滤该标签:

config.filter_run_excluding live: true

这样,它们只会在您在命令行上指定标记时运行。