我的_spec结构如下所述
描述做
上下文
端
上下文
端
端
我如何确保所有上下文的执行顺序将如我所定义的那样?目前所有这些都以随机方式执行。感谢
答案 0 :(得分:1)
rspec
将按照定义的顺序在规范文件中执行测试,如果您按如下方式调用它:
rspec --order defined
您还可以使用元数据describe
标记示例组(使用order: :defined
指定的组)来执行相同的操作。
但是,这仅适用于文件中的测试。 rspec
将按字母顺序执行文件。这是程序中的当前限制,基于this issue report作者声明:“RSpec不按字母顺序执行测试。它按字母顺序加载spec文件,然后按定义的顺序或随机运行测试订单取决于您的配置。“
您使用rspec
一个bash
命令执行每个文件,但这可能是也可能不值得:
echo "file4 file3 file1 file2" |
xargs -n1 -t bundle exec rspec --format doc --order defined