Uda*_*ami 5 ruby automated-tests watir cucumber watir-webdriver
我正在使用cucumber-watir-webdriver进行自动化.我有以下目录结构:
|features
-|feature1
--|1.feature
--|step_definitions
---|1.rb
-feature2
--|2.feature
--|step_definitions
---|2.rb
Run Code Online (Sandbox Code Playgroud)
等等.我需要知道什么是减少冗余的最佳实践1.rb和2.rb.
feature1并且feature2完全不同,所以我不能将它们组合在一个目录中.还有一些部分,其中特征线相同但步骤中的执行是不同的,因此如果它们在一起会产生歧义.
我需要知道是否有一些共同的部分在哪里1.rb和2.rb哪里应该放在哪里是保持共同步骤定义的最佳实践.
Cucumber 仅搜索当前或后续目录中的步骤定义。因此,我们不能在两个功能目录下面有通用的步骤定义目录或文件,我找到了一种解决方案,如下所示
|features
-|feature1
--|1.feature
--|step_definitions
---1.rb
-feature2
--|2.feature
--|step_definitions
---2.rb
-|common_steps.rb <-- keep common steps in here
Run Code Online (Sandbox Code Playgroud)
现在加载此步骤定义添加
require "#{File.dirname(__FILE__)}/../../common_steps.rb"
Run Code Online (Sandbox Code Playgroud)
在你的 1.rbs 中。您还可以拥有更长的目录结构,然后您可以将 common_steps.rb 文件保留在每个包含以下功能的通用步骤的目录中,并且您可以需要以前的 common_steps.rb 文件 -
require "#{File.dirname(__FILE__)}/../common_steps.rb"
Run Code Online (Sandbox Code Playgroud)
这段代码。这将使您的目录结构和 step_definition 文件保持干净
| 归档时间: |
|
| 查看次数: |
1481 次 |
| 最近记录: |