如何在 Rspec 中定义测试用例文件执行的顺序?

Har*_*dik 1 ruby rspec ruby-on-rails capybara

Rspec 中有没有一种方法可以通过提供文件输入来指定执行顺序?

我有一个.txt文件,其中包含按顺序排列的文件列表。我希望 Rspec 按照文件中指定的顺序执行文件测试.txt。我将 CAPYBARA 与 Rspec 一起使用(USING_CAPYBARA=true rspec -r Turnip/rspec -r Turnip/capybara spec/features/../../.)

编辑:

每当 CI 工具上的功能失败时,我都会按顺序获取由 CI 工具执行的文件名列表。当我简单地运行失败的测试时,它工作正常,但要调试此类问题,我需要以与 CI 工具相同的顺序运行测试文件。所以我认为如果 Rspec 没有提供按特定顺序重新运行规范文件的方法,我想我需要为其编写一些脚本

spi*_*ann 5

RSpec 告诉您seed它使用哪个来随机化顺序。寻找类似的东西:

Randomized with seed 47311.
Run Code Online (Sandbox Code Playgroud)

您可以使用该数字以相同的顺序重新运行规范:

$ spec spec --seed 47311 # or --order rand:47311
Run Code Online (Sandbox Code Playgroud)

来自文档使用 --order 选项告诉 RSpec 如何对文件、组和示例进行排序。可用的排序方案已定义并随机排列。