如何在黄瓜功能的多个方案大纲中使用同一组示例

时间:2019-04-11 07:40:37

标签: cucumber cucumber-jvm gherkin scenarios feature-file

我试图找到这种解决方案,但是没有运气。它的要求非常简单,我认为黄瓜有我不知道的解决方案。

我想对多个功能使用相同的场景概述示例集。每次我不想复制粘贴相同的示例集时,都会导致功能文件无法维护。

我用下面的示例尝试了黄瓜java

Given The Economy is up for actions
    When I make GET request to get **device** list with limit as <limit>
    Then I should get success status as true
    And I should get the **device** list with <limit> members

    Examples:
      | limit |
      | 1     |
      | 10    |
      | 25    |


Given The Economy is up for actions
    When I make GET request to get **user** list with limit as <limit>
    Then I should get success status as true
    And I should get the **user** list with <limit> members


    Examples:
      | limit |
      | 1     |
      | 10    |
      | 25    |

在这里您只能看到何时步骤有所不同,这两个步骤中的限制示例都相同。这只是一个例子,我有很多类似的情况,在这些情况下,我需要使用不同的例子集。

我对testNG钟爱的一件事是可以轻松解决此问题的数据提供程序。但是期待在黄瓜中获得类似的食物。

3 个答案:

答案 0 :(得分:0)

要共享“示例”数据,您可以将它们存储在外部静态文件(json / txt /无论如何)中,并在特定步骤的实现中加载它们。我不知道黄瓜中的现成解决方案可在功能文件之间共享示例。

答案 1 :(得分:0)

黄瓜不能提供这样的灵活性,我们只能在一个功能文件中编写一次示例/数据表,然后在所有其他功能文件中访问它们。

另一方面,如果在这种情况下根据示例中的数据变化不使用方案大纲,则假设3,则必须编写3个不同的方案。

答案 2 :(得分:0)

如果在使用BDD / Gherkin时正在查找与TestNG类似的功能,则应尝试使用pure TestNG implementation of BDD,包括gherkin。它是BDD的纯TestNG实现,提供了所有TestNG功能,包括优先级,依赖项,侦听器,并行执行。它专为Web,移动和web-service功能测试自动化而设计,提供了支持不同用例所需的设计概念和大量内置功能。

引用