我们有一套控制器规格,以确保我们的api按预期工作。
我还想添加一个默认情况下不运行但可以运行的性能测试(可能就像通过rspec spec/controllers/item_controller.rb:50
这样的行号一样简单。其中一些可能是几秒钟所以我们不希望每次都跑步(4秒x 30个动作加起来)。
是否有办法在默认情况下排除规范或描述块,但是是否可以通过行号运行?
答案 0 :(得分:3)
为每个慢速测试添加标签以识别它们,例如,
it 'should do something', slow: true do
#does something
end
然后只需使用独占标记选项运行rspec:
rspec --tag ~slow
这将运行所有不具有与之关联的slow
标记的测试。要与其他测试一起运行慢速测试,只需在没有标记选项的情况下调用。
最好将此作为默认行为,在这种情况下修改.rspec
配置文件并将以下内容添加到其中:
--tag ~slow
现在默认情况下,只需运行rspec
,所有测试都将运行,但标记为缓慢的测试除外。要运行慢速测试,请显式设置标志:
rspec --tag slow
虽然这将排除所有未被标记为缓慢的测试。