首页 > 解决方案 > 您能否将结果(Given)保存到 Gherkin 特征文件中的变量中,然后将该变量与另一个结果(Then)进行比较?(Java 的黄瓜)

问题描述

我是 Cucumber for Java 的新手,并试图自动化测试由 MS SQL Server 支持的 SpringBoot 服务器。

我有一个端点“获取所有员工”。

编写传统的特征文件,我将不得不列出@Then子句中的所有员工。这对于成千上万的员工来说是不可能的。

所以我只想获取数据库中Employee表的行数,然后与“获取所有员工”端点返回的对象数进行比较。

比较

SELECT count(*) from EMPLOYEE

从返回的列表的大小

List<Employee> getAllEmployees()

但是如何将行数保存在功能文件的变量中,然后将其传递给stepdefsJava 方法?

我还没有找到 Gherkin 允许这样做的任何方式。

标签: automated-testsgherkincucumber-java

解决方案


您可以创建一个包,例如名为 dataRun 的包(在包中包含相应的类),并在测试期间通过设置器将详细信息保存在那里。

在执行“我从数据库中获取员工数量”步骤期间,您通过相应的设置器设置此计数,在“我获取所有员工”步骤期间,您通过专用设置器设置数量。然后在“我验证员工人数与数据库中的员工人数相同”的步骤中,您通过 getter 获得这两个数字并进行比较。

顺便说一句,如果将员工放入列表并比较列表,则可以比较员工的姓名(不仅仅是计数)。


推荐阅读