我们正在研究一种基于云的自动化框架,该框架与我们在工作中使用的Cucumber和Selenium配合使用。
在阅读docs时,我需要修改我们的env.rb
文件以放入一些设置代码。
是否可以将此初始化代码放在不同的文件中?如果是这样,那将如何运作?
原因是我不会比现在更加复杂env.rb
,而且我们不确定我们是否会使用这个特定的框架并希望保留事情很简单,以防我们需要退出。
理想情况下,我希望将此初始化放在一个单独的文件中,只调用它来获取特定的功能文件,但是我会把它拿走。
答案 0 :(得分:5)
是。您可以将它放在features / support目录下的任何文件中,它将自动加载。
你可能有类似的东西:
features/support/env.rb
features/support/capybara_config.rb
features/support/hooks.rb
etc
我在实践中发现,只需要运行一次的任何内容都应该进入env.rb,或者你应该提供一些标记机制,例如全局变量,以确保你不会执行两次。
仔细观察你的问题,听起来有时你需要做一些设置。您可以使用HOOKS
执行此操作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