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

Ruby 为Cucumber测试存储变量的最佳实践是什么?,ruby,cucumber,capybara,Ruby,Cucumber,Capybara,为Cucumber测试存储变量的最佳实践是什么 我正在使用Cucumber和Capybara测试Java应用程序 在应用程序中,有许多类型的用户和其他数据需要传递到我的Capybara步骤定义中。所以我的问题是存储这些变量/用户ID的最佳实践是什么 我确实在env.rb文件中存储了一些变量@instance\u 但是有没有更干净/优雅的方法来做到这一点?就像我有一个专门的文件,只用于我可以调用的变量,如果是这样的话,如何设置这样一个文件 请提供解决方案的示例 您可以使用hooks.rb文件进行设

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

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

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

我确实在env.rb文件中存储了一些变量@instance\u

但是有没有更干净/优雅的方法来做到这一点?就像我有一个专门的文件,只用于我可以调用的变量,如果是这样的话,如何设置这样一个文件

请提供解决方案的示例

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


这是否适用于50种不同的用户类型50个唯一的用户ID/PW?在那个文件中是如何构造的?我会把它放在一个配置文件中,也许是YAML?并阅读它-查看我的更新一旦我加载了YAML文件,那么里面的任何东西都可以使用,如果没有加载,我就不能使用它了?还有,我应该制作这些用户ID的最佳变量类型是什么?它们将被用于各种不同的Cuke功能文件。你还想回答吗?
@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