RSpec的种子是否保持顺序,即使重新运行一部分测试?

问题描述 投票:0回答:1

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

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

我正在尝试确定是否是因为,如果种子基于所选择的测试,这是导致spec/models以外的测试导致初始失败的原因[[OR。

因此,RSpec将以最初运行的顺序重新运行子集,还是仅在我实际运行相同套件的情况下才保证订购(例如,它是种子和测试套件的哈希值的某种组合?]
rspec
1个回答
0
投票
是,是。

但是您可以使用--bisect标志来创建最小的repo案例来排序依赖关系,而不是手动进行。

rspec --seed 1234 --bisect

© www.soinside.com 2019 - 2024. All rights reserved.