Ruby 我可以把cucumber设置代码放在env.rb旁边吗?

Ruby 我可以把cucumber设置代码放在env.rb旁边吗?,ruby,cucumber,Ruby,Cucumber,我们正在研究一个基于云的自动化框架,它可以很好地与Cucumber和Selenium配合使用,我们在我的工作中使用它 在阅读时,我需要修改我们的env.rb文件,以放入一些设置代码 是否可以将此初始化代码放在另一个文件中?如果是的话,那该怎么办 原因是,我不想让env.rb变得更复杂,我们不确定是否要使用这个特定的框架,并且希望保持简单,以防我们需要退出 理想情况下,我希望将此初始化放在一个单独的文件中,并且仅针对特定的功能文件调用它,但将获取我所能获得的。是。您可以将它放在features/s

我们正在研究一个基于云的自动化框架,它可以很好地与Cucumber和Selenium配合使用,我们在我的工作中使用它

在阅读时,我需要修改我们的
env.rb
文件,以放入一些设置代码

是否可以将此初始化代码放在另一个文件中?如果是的话,那该怎么办

原因是,我不想让
env.rb
变得更复杂,我们不确定是否要使用这个特定的框架,并且希望保持简单,以防我们需要退出


理想情况下,我希望将此初始化放在一个单独的文件中,并且仅针对特定的功能文件调用它,但将获取我所能获得的。

是。您可以将它放在features/support目录下的任何文件中,它将自动加载

您可能会遇到以下情况:

features/support/env.rb
features/support/capybara_config.rb
features/support/hooks.rb
etc
我在实践中发现,任何只需要运行一次的操作都应该进入env.rb,或者您应该提供一些标记机制,比如一个全局变量,以确保不会执行两次

仔细看看你的问题,听起来你有一些设置,有时需要完成。你可以用钩子做这个

features/support/hooks.rb
Before('@myspecialtest') do
  SetupObject.do_the_thing
end

feature/support/setup_object.rb
class SetupObject
  def self.do_the_thing
    # perform setup
  end
end

features/my.feature
@myspecialtest
Scenario: My Scenario