提问者:小点点

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


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

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

我试着用cucumberjava下面的例子

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的一点是数据提供者可以很容易地解决这个问题。但是期待在cucumber中得到类似的东西。


共3个答案

匿名用户

Cucumber不提供这种灵活性,我们在一个特征文件中只编写一次示例/数据表,并在所有其他特征文件中访问这些示例/数据表。

另一方面,如果您在这种情况下不使用场景大纲,这取决于示例下的数据变化,例如3,您将不得不编写3个不同的场景。

匿名用户

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

参考

  • 可重用-通用-示例-cucumber中的表格
  • cucumber中的例子
  • 自定义数据提供者-for-feature-file
  • 在代码中创建场景大纲示例

匿名用户

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