如何在cucumber features中的多个场景大纲中使用同一组示例

如何在cucumber features中的多个场景大纲中使用同一组示例,cucumber,cucumber-jvm,gherkin,scenarios,feature-file,Cucumber,Cucumber Jvm,Gherkin,Scenarios,Feature File,我试图找到这个解决办法,但没有成功。它的要求非常简单,我想黄瓜有我不知道的解决方案 我想对多个功能使用相同的场景大纲示例集。每次我不想复制粘贴同一组示例时,都会导致功能文件的不可维护性 我用下面的例子尝试了cucumber java Given The Economy is up for actions When I make GET request to get **device** list with limit as <limit> Then I should

我试图找到这个解决办法,但没有成功。它的要求非常简单,我想黄瓜有我不知道的解决方案

我想对多个功能使用相同的场景大纲示例集。每次我不想复制粘贴同一组示例时,都会导致功能文件的不可维护性

我用下面的例子尝试了cucumber 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    |
考虑到经济需要采取行动
当我请求获取**设备**列表时,限制为
那么我应该获得成功状态为真
我应该和会员一起得到**设备**列表
示例:
|极限|
| 1     |
| 10    |
| 25    |
考虑到经济正在采取行动
当我请求获取**用户**列表时,限制为
那么我应该获得成功状态为真
我应该得到会员的**用户**列表
示例:
|极限|
| 1     |
| 10    |
| 25    |
在这里,您只能看到当步骤产生差异时,两个步骤中的限制示例相同。这只是一个例子,我有很多这样的例子,我需要使用不同的例子


我喜欢testNG的一点是数据提供者,它可以很容易地解决这个问题。但是,我们期待着在cucumber中获得类似的结果。

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

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


另一方面,如果您在这种情况下不使用scenario outline(取决于示例3下的数据变化),那么您必须编写3个不同的场景。

如果您在使用BDD/Gherkin时正在寻找类似于TestNG的功能,您应该尝试包括。BDD的纯TestNG实现提供了所有TestNG特性,包括优先级、依赖性、侦听器和并行执行。它是为web、移动和功能测试自动化而设计的,提供了支持不同用例所需的设计概念和大量内置功能

提及


谢谢@Matthewek。但在报告这一点时,它是否会像单个场景一样显示每个示例(如场景大纲)?您好,我正在用Cypress搜索上述示例的“如何编写步骤定义文件”的答案。。。。你知道怎么做吗?谢谢