我正在使用带有java的黄瓜小黄瓜。根据我们的要求,我需要在我的功能文件中重复使用各个方案的步骤。 例如,我的功能文件中有以下两种情况。
场景:查看项目
场景:编辑项目
此处,步骤"用户搜索名称为","项目价格的项目对用户可见"正在重复,这对我的测试非常有效。 但这在黄瓜小黄瓜中是不被接受的。它说错误,它迫使我使用步骤的唯一名称。 无论如何,我可以跨场景重用相同功能文件中的步骤吗?
一个解决方法是 - 我需要在不同的功能文件中定义这两个场景,并且需要使用黄瓜的粘合功能将每个功能文件与单独的java包相关联以进行步骤定义(注意:我只能将java包粘贴到一个功能,而不是一个类)。
所以,目前我正在定义N个特征文件(每个场景的单独特征文件)和相同数量的java软件包。 这使得我的测试代码库太大了,很快我就会遇到可维护性问题。
答案 0 :(得分:1)
在需要时编写重复步骤。有时需要重复的步骤才能创建有趣且与利益相关者相关的Gherkin。但是,请在步骤中立即委托给助手方法。你的步骤应该只是单行。
您需要的常见行为是在辅助方法中实现的,您想到的重复将会减少。它可能会减少太多而消失。
答案 1 :(得分:1)
您绝对可以在单个要素文件中将重复步骤用作不同方案的一部分。此外,黄瓜小黄瓜的重复步骤只需要一个JAVA代码。
此外,对于作为单个要素文件的一部分的常见步骤,您也可以使用Background关键字,它将在执行每个方案之前执行。 例如:
并保持所有情景更轻松。
其他情景:
我希望它有所帮助。