重复使用黄瓜小黄瓜中的步骤名称

时间:2017-06-11 13:46:35

标签: java cucumber reusability gherkin

我正在使用带有java的黄瓜小黄瓜。根据我们的要求,我需要在我的功能文件中重复使用各个方案的步骤。 例如,我的功能文件中有以下两种情况。

场景:查看项目

  • 指定用户使用有效凭据登录
  • 当用户搜索名称为
  • 的项目时
  • 然后项目显示在摘要
  • 项目价格对用户可见

场景:编辑项目

  • 指定用户使用有效凭据登录
  • 当用户搜索名称为
  • 的项目时
  • 并选择要编辑的项目
  • 然后项目变为可编辑给用户
  • 项目价格对用户可见

此处,步骤"用户搜索名称为","项目价格的项目对用户可见"正在重复,这对我的测试非常有效。 但这在黄瓜小黄瓜中是不被接受的。它说错误,它迫使我使用步骤的唯一名称。 无论如何,我可以跨场景重用相同功能文件中的步骤吗?

一个解决方法是 - 我需要在不同的功能文件中定义这两个场景,并且需要使用黄瓜的粘合功能将每个功能文件与单独的java包相关联以进行步骤定义(注意:我只能将java包粘贴到一个功能,而不是一个类)。

所以,目前我正在定义N个特征文件(每个场景的单独特征文件)和相同数量的java软件包。 这使得我的测试代码库太大了,很快我就会遇到可维护性问题。

2 个答案:

答案 0 :(得分:1)

在需要时编写重复步骤。有时需要重复的步骤才能创建有趣且与利益相关者相关的Gherkin。但是,请在步骤中立即委托给助手方法。你的步骤应该只是单行。

您需要的常见行为是在辅助方法中实现的,您想到的重复将会减少。它可能会减少太多而消失。

答案 1 :(得分:1)

您绝对可以在单个要素文件中将重复步骤用作不同方案的一部分。此外,黄瓜小黄瓜的重复步骤只需要一个JAVA代码。

此外,对于作为单个要素文件的一部分的常见步骤,您也可以使用Background关键字,它将在执行每个方案之前执行。 例如:

  • 背景:
  • 指定用户使用有效凭据登录
  • 当用户搜索名称为
  • 的项目时

并保持所有情景更轻松。

  • 场景:查看项目
  • 然后项目显示在摘要
  • 项目价格对用户可见

其他情景:

  • 场景:编辑项目
  • 并选择要编辑的项目
  • 然后项目变为可编辑给用户
  • 项目价格对用户可见

我希望它有所帮助。