如何仅在设置了标志的情况下运行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
且未设置的情况下运行。
答案 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
这样,它们只会在您在命令行上指定标记时运行。