在给定的RSpec describe块中,let,before和it语句的顺序重要吗?

Pet*_*vin 3 rspec

如果我有一个describe在RSpec的一组声明letbeforeit声明,不具体的声明的交织影响作为订单的行为,只要给定类型声明得住?例如,将:

describe "ordering test" do
  <it1>
  <it2>
  <before1>
  <let1>
  <let2>
  <before2>
end
Run Code Online (Sandbox Code Playgroud)

始终产生与以下结果相同的结果:

describe "ordering test" do
  <let1>
  <let2>
  <before1>
  <before2>
  <it1>
  <it2>
end
Run Code Online (Sandbox Code Playgroud)

其中,<xxx1><xxx2>是相应的实例xxx陈述?

Pet*_*vin 5

不,顺序无关紧要,对describe块中顶级语句上非Proc参数的任何依赖关系取模。

基本上,describe收集的全部传递到其的参数值letbeforeit语句,然后执行所有let秒,然后所有before秒,然后所有it秒。

给定正常的RSpec使用情况,第一句中提到的异常很少发生。