即使重新运行部分测试,RSpec 的种子是否保持顺序?
Does RSpec's seed maintain order even if rerunning with a subset of tests?
由于测试顺序,我有一些测试在 RSpec 中间歇性地失败(如果我重新 运行 带有 rspec --seed 1234 spec
的套件,我每次都可以重现失败)。在调试和修复此问题时,我想将 运行 的测试限制为仅对导致失败的测试进行更快的反馈循环。
例如,如果我 运行 完整套件 (rspec --seed 1234 spec
),我有一些测试在 spec/models
下失败,但如果我 运行 rspec --seed 1234 spec/models
通过.
我正在尝试确定这是否是因为它是 spec/models
之外的测试导致初始失败 或者 如果种子基于选择的测试。
那么,如果我 运行 字面上是相同的套件(例如,它是种子和测试套件的哈希的某种组合)?
是的,确实如此。
但是您可以使用 --bisect
标志来创建一个最小的 repo 案例来订购依赖项,而不是手动执行。
rspec --seed 1234 --bisect
由于测试顺序,我有一些测试在 RSpec 中间歇性地失败(如果我重新 运行 带有 rspec --seed 1234 spec
的套件,我每次都可以重现失败)。在调试和修复此问题时,我想将 运行 的测试限制为仅对导致失败的测试进行更快的反馈循环。
例如,如果我 运行 完整套件 (rspec --seed 1234 spec
),我有一些测试在 spec/models
下失败,但如果我 运行 rspec --seed 1234 spec/models
通过.
我正在尝试确定这是否是因为它是 spec/models
之外的测试导致初始失败 或者 如果种子基于选择的测试。
那么,如果我 运行 字面上是相同的套件(例如,它是种子和测试套件的哈希的某种组合)?
是的,确实如此。
但是您可以使用 --bisect
标志来创建一个最小的 repo 案例来订购依赖项,而不是手动执行。
rspec --seed 1234 --bisect