有时,当你在一个大型Rails应用上修改一个功能时,只运行与该功能相关的规格,而不是运行完整的测试规格(例如:1000多个功能规格,需要20分钟才能运行)会更快。
你可以使用标签来实现这一点,比如说我们想要标记一些与结账流程相关的测试案例,在它/describe/context的第二个参数上使用标签":checkout":
# checkout_discount.spec
# ...
it 'should discount price when promo code applied', :checkout do
# your test code here
end
你可以在不同的规范文件中使用相同的标签:
# checkout_referral.spec
# ...
describe 'referral code applied', :checkout do
it 'should give bonus to referral account' do
# your test code here ...
end
end
现在你可以指定rspec只运行被标记为:checkout的测试,像这样。
rspec spec --tag checkout
这条命令意味着rspec将检查位于 "spec "文件夹内的测试文件,并且只运行带有'checkout'标签的块**(it**/describe/context)。你可以把这个标签名称改为你喜欢的任何名称。