组织黄瓜步骤

时间:2015-07-31 16:44:02

标签: ruby cucumber

我正在处理庞大的代码库,其中功能按域分组并保存在单独的包中。

  

+ ServicesDomain
  | --- +特征
  | + step_definitions

     

+ SalesDomain
  | --- +特征
  | + step_definitions

但是总会有一些常见的步骤,我找不到一种方法来将常见的步骤定义保留在一些常见的步骤包中。

我想知道的是,如果有办法将所有通用步骤保留在一些常见的包中,并使我的域包依赖于通用步骤包来利用通用步骤。

2 个答案:

答案 0 :(得分:0)

这样做的一种方法是设置一个名为features / support / env.rb的文件,然后添加一个' require'对此文件的声明,以包含每次的常用步骤。例如,该文件可能包含:

require File.join(File.dirname(__FILE__), ​'..'​, ​'common'​, ​'common_steps'​)

这样你的common_steps.rb每次都会被加载。

env.rb是每个Cucumber运行的第一个文件。

您是否也听说过Pickle宝石?这可能值得一看,因为它通过将常用步骤放入名为' pickle_steps.rb'的文件中来做类似的事情。这为测试模型提供了方便的步骤定义,但没有什么能阻止您编辑该文件并添加自己的文件。

希望有所帮助吗?

答案 1 :(得分:0)

Cucumber有一个命令行选项-r,允许您包含特定文件。如果运行cucumber --help,则可以获得有关所有命令行选项的更多信息。在ruby中,您可以将它与config.yml文件结合起来,全局设置黄瓜在项目中的运行方式。但是我怀疑你使用的是java,我不知道这是否适用。如果是这样的话,你可以在黄瓜邮件列表上询问。

另一种方法是将文件放在每个支持目录中,例如ServicesDomain/features/supportSalesDomian/features/support只有一个require语句,可以引入所有常见步骤。 Cucumber会自动加载features/support中的所有文件(从features/..运行时)。