在给定的RSpec描述块中,let之前的顺序和它的语句是否重要?

时间:2013-08-03 22:28:55

标签: rspec

如果我在RSpec中有一组带有describeletbefore语句的it语句,这些语句的特定交错是否会影响该行为作为中的命令是否保持了给定类型的语句?例如,将:

describe "ordering test" do
  <it1>
  <it2>
  <before1>
  <let1>
  <let2>
  <before2>
end

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

describe "ordering test" do
  <let1>
  <let2>
  <before1>
  <before2>
  <it1>
  <it2>
end

其中<xxx1><xxx2>是相应xxx语句的实例?

1 个答案:

答案 0 :(得分:4)

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

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

在正常的RSpec使用情况下,第一句中提到的例外情况很少发生。