存储Cucumber测试变量的最佳实践是什么?

时间:2014-05-14 19:22:26

标签: ruby cucumber capybara

存储Cucumber测试变量的最佳做法是什么?

我正在使用Cucumber和Capybara来测试Java应用程序。

在应用程序中,我需要将许多类型的用户和其他数据传递到我的Capybara步骤定义中。所以我的问题是存储这些变量/用户ID的最佳做法是什么?

我确实有一些变量(@instance_variabless)我已经存储在env.rb文件中。

但有更干净/优雅的方式吗?就像有一个专用文件,我可以调用的变量,如果是这样的话,如何设置这样的文件?

请提供解决方案的示例?

1 个答案:

答案 0 :(得分:0)

您可以在hooks.rb文件中使用hooks进行设置和拆卸:

@user_ids_and_passwords = YAML.load(File.open('features/config/users.yml'))

@my_heavy_object = HeavyObject.new
@my_heavy_object.do_it

at_exit do
  @my_heavy_object.undo_it
end

AfterConfiguration do |config|
  puts "Features dwell in #{config.feature_dirs}"
  @instance_variable = 'my variable'
end

Before('@some_features') do
  @feature_instance_variable = 'something else'
end