3

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

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

我用下面的例子尝试了黄瓜 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 的一件事是数据提供者,它可以轻松解决这个问题。但期待在黄瓜中得到类似的东西。

4

3 回答 3

2

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

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

于 2019-04-11T15:49:39.730 回答
1

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

参考

于 2019-04-12T19:21:53.840 回答
0

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

于 2019-04-11T08:53:18.657 回答