如何按照RSPEC中定义的顺序执行所有上下文

如何按照RSPEC中定义的顺序执行所有上下文,rspec,rspec-rails,Rspec,Rspec Rails,我的规格结构如下所述 描述 上下文 结束 上下文 结束 结束 如何确保所有上下文的执行顺序与我定义的一致?目前,所有这些都以随机方式执行。感谢rspec将按照定义的顺序在spec文件中执行测试,如果您按如下方式调用它: rspec --order defined 您还可以使用元数据order::defined标记示例组(您用description指定的组),以执行相同的操作 但是,这仅适用于文件中的测试rspec将按字母顺序执行文件。这是程序中的当前限制,基于作者的陈述:“RSpec不按字母顺

我的规格结构如下所述

描述

上下文

结束

上下文

结束

结束


如何确保所有上下文的执行顺序与我定义的一致?目前,所有这些都以随机方式执行。感谢

rspec
将按照定义的顺序在spec文件中执行测试,如果您按如下方式调用它:

rspec --order defined
您还可以使用元数据
order::defined
标记示例组(您用
description
指定的组),以执行相同的操作

但是,这仅适用于文件中的测试
rspec
将按字母顺序执行文件。这是程序中的当前限制,基于作者的陈述:“RSpec不按字母顺序执行测试。它按字母顺序加载规范文件,然后根据您的配置按定义的顺序或随机顺序运行测试。”

您可以使用一个
rspec
命令执行每个文件,并使用一点
bash
magic,但这可能值得,也可能不值得:

echo "file4 file3 file1 file2" |
  xargs -n1 -t bundle exec rspec --format doc --order defined

可能是@fabersky的复制品,没有。我的问题不同。谢谢你的帮助。您确定不进行任何其他配置,仅通过使用descripe提及order,我的所有上下文都将按照我定义的顺序执行吗?因为我已经试过很多次了。但是没用。是的,我原以为命令行选项会覆盖任何其他
.rspec
或配置参数。我自己经常使用这个开关,因为我喜欢我的规范生成可读的文档作为其输出的一部分,并且我编写代码以向读者提供最清晰的描述@KapilKaushik,当我发现一个关于文件执行顺序的
rspec
问题报告时,我想我发现了我们之间的脱节。我已相应地更新了我的答案。我验证了测试文件似乎是按字母顺序执行的,无论您以什么顺序指定文件名。