如何设置自动测试以仅重新运行失败的rspec示例

fak*_*eft 7 ruby rspec autotest

我对自动测试如何工作的印象(基于黄瓜github wiki和其他在线内容)是它应该重新运行红色示例,直到它们通过.我的问题是它重新运行spec文件中找到失败示例的所有示例,包括传递的示例.在修复失败的例子时,我宁愿不浪费时间重新运行示例.是否可以配置自动测试,以便只运行失败的示例?

dig*_*ist 0

您需要rspec-retry gem。以下是文档中有关如何实现它的一些示例:

将其应用到configure覆盖整个测试套件的块中......

RSpec.configure do |config|
    config.verbose_retry = true # show retry status in spec process
    config.default_retry_count = 3
end
Run Code Online (Sandbox Code Playgroud)

或者逐个应用它...

it 'should randomly succeed', :retry => 3 do
    expect(rand(2)).to eq(1)
end
Run Code Online (Sandbox Code Playgroud)