如果我在RSpec中有一组带有describe
,let
和before
语句的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
语句的实例?
答案 0 :(得分:4)
不,排序无关紧要,模拟describe
块中顶级语句的非Proc参数的任何依赖关系。
基本上,describe
收集传递到其let
,before
和it
语句的所有参数的值,然后执行所有let
s ,然后是所有before
s,接着是所有it
s。
在正常的RSpec使用情况下,第一句中提到的例外情况很少发生。