在组中定义变量并在测试声明中使用

时间:2012-05-31 22:14:14

标签: ruby rspec

我正在为我的rails应用程序编写测试,并且我发现由于几乎所有测试都是在一些 n 变量的集合上运行,我可以按如下方式编写它们:

[var1, var2, …].each do   
    describe … do
     .
     .
    end

    it … do
     .
     .
    end
end

等等。但我找不到如何将所有数组放入变量的方法,所以我可以使用variables.each do …

我之前尝试过(:each),之前(:all),只是describe组中的一个声明和实例变量(一个以@ -sign开头) ,但我所有的尝试都毫无用处。

1 个答案:

答案 0 :(得分:1)

variables区块中声明Rspec.configure

RSpec.configure do |config|
  config.add_setting :variables, :default =>  [1, 2]
end

并在您的规格中使用它:

RSpec.configuration.variables.each do |i|
end

您也可以在RSpec配置块之外声明variables,如下例所示,但由于您可能已经拥有此块,因此最好保持清洁。

RSpec.configuration.add_setting :variables, :default =>  [1, 2]