RSpec';即使使用测试子集重新运行,s种子是否仍保持顺序?

RSpec';即使使用测试子集重新运行,s种子是否仍保持顺序?,rspec,Rspec,由于测试顺序的原因,我有一些测试在RSpec中间歇性失败(如果我使用RSpec--seed 1234 spec重新运行套件,我每次都可以重现失败)。在调试和修复此问题时,我希望将为更快的反馈循环而运行的测试仅限于导致失败的测试 例如,如果我运行完整套件(rspec--seed 1234 spec),则在spec/models下有一些测试失败,但如果我运行rspec--seed 1234 spec/models,则测试通过 我试图弄清楚这是否是因为导致初始故障的是spec/models之外的测试,

由于测试顺序的原因,我有一些测试在RSpec中间歇性失败(如果我使用
RSpec--seed 1234 spec重新运行套件,我每次都可以重现失败)。在调试和修复此问题时,我希望将为更快的反馈循环而运行的测试仅限于导致失败的测试

例如,如果我运行完整套件(
rspec--seed 1234 spec
),则在
spec/models
下有一些测试失败,但如果我运行
rspec--seed 1234 spec/models
,则测试通过

我试图弄清楚这是否是因为导致初始故障的是
spec/models
之外的测试,或者种子是否基于所选择的测试

因此,RSpec是否会以最初运行的相同顺序重新运行子集,或者仅当我运行完全相同的套件(例如,它是测试套件的种子和散列的某种组合)时才会保证排序

但您可以使用
--bisect
标志为排序依赖项创建最小回购案例,而不是手动执行


rspec--seed 1234--bisect

您可以使用
--bisect
标志为排序依赖项创建最小的重新排序案例
rspec--seed 1234--bisect
哦,很有趣,谢谢@LuisSilva!所以感觉它确实保持了顺序,否则,
对分
标志就不起作用了。在文档中遗漏了这一点:)如果您添加作为答案,很高兴接受。我做到了,谢谢。