是否可以在 Rspec2 标签中包含条件逻辑,以便我可以运行标签小于或等于给定值的所有示例?
就像是:
rspec Dummy_spec.rb --tag version:= <=2
显然,这是行不通的,但是否有一些 Ruby 魔法可以使这项工作?
这样做的原因是我想使用标签对我的 Rspec 示例进行版本控制。更具体地说,我希望能够过滤所有示例,其标记等于或小于我在运行示例时指定的标记值。
例如,如果我正在处理我的代码的第 2 版,但也开始使用第 3 版,那么我希望能够运行适用于我的代码的第 1 版和第 2 版的所有示例。但不是第 3 版。(请参见下面的代码示例)
期待一些回复,我的 rspec 示例与我的生产代码位于一个单独的项目中,因此使用代码对示例进行版本控制并不是一件简单的事情。但如果有更好的方法来处理这个问题,我愿意接受替代方案。
我想做的完整示例:
describe "using version as tags" do
context "When I run 'rspec Dummy_spec.rb --tag version:2'"
it "should run this test applicable to ver 1", :version =>1 do
true.should eq(true)
end
it "should run this test applicable to ver 2", :version =>2 do
true.should eq(true)
end
it "should not run this test applicable to ver 3", :version =>3 do
true.should eq(true)
end
end