我试着找到这个解决方案,但没有运气。它非常简单的要求,我认为黄瓜有解决方案,我不知道。
我想对多个功能使用相同的场景轮廓示例。每次我不想复制粘贴同一组示例时,都会导致功能文件无法维护。
我尝试用黄瓜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的一件事是数据提供者,它可以轻松解决这个问题。但期待在黄瓜中得到类似的东西。
要共享“示例”数据,您可以将它们存储在外部静态文件(json / txt / what)中,并在特定的步骤实现中加载它们。我不知道黄瓜的开箱即用解决方案在功能文件之间共享示例。
如果我们在特征文件中只编写一次示例/数据表并在所有其他特征文件中访问这些,则Cucumber不提供这种灵活性。
另一方面,如果你不使用场景大纲在这种情况下取决于例子下的数据变化让我们说3,你将不得不写3个不同的场景。
如果您在使用BDD / Gherkin时正在寻找类似于TestNG的功能,您应该尝试pure TestNG implementation of BDD,包括gherkin。它是BDD的纯TestNG实现,提供所有TestNG功能,包括优先级,依赖,监听器,并行执行。它专为Web,移动和web-service功能测试自动化而设计,提供设计概念和许多内置功能,以支持不同的用例。
参考