【发布时间】:2017-11-13 01:14:09
【问题描述】:
我在 java 中使用黄瓜小黄瓜。在这里,根据我们的要求,我需要在我的功能文件中跨场景重用这些步骤。 例如,我的功能文件中有以下两种情况。
场景:查看项目
- 假设用户使用有效凭据登录
- 当用户搜索具有名称的项目时
- 然后项目显示在摘要中
- 商品价格对用户可见
场景:编辑项目
- 假设用户使用有效凭据登录
- 当用户搜索具有名称的项目时
- 并选择要编辑的项目
- 然后项目变为用户可编辑
- 商品价格对用户可见
在这里,“用户搜索具有名称的商品”、“商品价格对用户可见”这些步骤正在重复,这对我的测试非常有效。 但这在黄瓜小黄瓜中是不被接受的。它说错误,它迫使我为步骤使用唯一的名称。 无论如何我可以跨场景重复使用相同功能文件中的步骤吗?
一种解决方法是 - 我需要在不同的特性文件中定义这两个场景,并且需要使用黄瓜的粘合特性将每个特性文件与单独的java包关联起来进行步骤定义(注意:我只能将java包粘合到一个特性上,而不是一个类)。
所以,目前我正在定义 N 个功能文件(每个场景的单独功能文件)和相同数量的 java 包。 这使我的测试代码库太大,很快我可能会遇到可维护性问题。
【问题讨论】:
-
步骤“商品价格对用户可见”是否在两种情况下都执行相同的操作?你所问的是黄瓜的正常行为。您可以在同一功能文件或不同功能文件中的多个场景中重复使用相同的步骤。您想为两个不同的步骤定义保持相同的名称吗?
标签: java cucumber reusability gherkin