Automated tests 能否将结果(给定)保存到小黄瓜特征文件中的变量,然后将该变量与另一个结果进行比较(然后)?(黄瓜代表爪哇)
我不熟悉Cucumber for Java,并尝试自动测试由MS SQL server支持的SpringBoot服务器 我有一个端点“获取所有员工” 在编写传统功能文件时,我必须在Automated tests 能否将结果(给定)保存到小黄瓜特征文件中的变量,然后将该变量与另一个结果进行比较(然后)?(黄瓜代表爪哇),automated-tests,gherkin,cucumber-java,Automated Tests,Gherkin,Cucumber Java,我不熟悉Cucumber for Java,并尝试自动测试由MS SQL server支持的SpringBoot服务器 我有一个端点“获取所有员工” 在编写传统功能文件时,我必须在@Then子句中列出所有员工。 数千名员工无法做到这一点 因此,我只想获取数据库中Employee表的行数,然后与“get All Employees”端点返回的对象数进行比较 比较 从员工中选择计数(*) 具有从返回的列表的大小 列出getAllEmployees() 但是如何将rowcount保存在功能文件中的变量
@Then
子句中列出所有员工。
数千名员工无法做到这一点
因此,我只想获取数据库中Employee表的行数,然后与“get All Employees”端点返回的对象数进行比较
比较
从员工中选择计数(*)
具有从返回的列表的大小
列出getAllEmployees()
但是如何将rowcount保存在功能文件中的变量中,然后将其传递到stepdefs
Java方法中呢
我还没有发现Gherkin允许这样做的任何方式。您可以创建一个名为dataRun的包(包中有相应的类),并通过setter在测试期间将详细信息保存在那里 在执行步骤“和我从数据库获取员工数量”期间,您通过相应的设置器设置该数量,在步骤“和我获取所有员工”期间,您通过专用设置器设置数量。 然后在“我验证员工数量与数据库中的员工数量相同”的步骤中,通过getter获得这两个数字并进行比较
顺便说一句,如果您将员工的姓名放入列表并比较列表,则可以比较他们的姓名(而不仅仅是计数)。您可以创建一个名为dataRun的包(包中有相应的类),并在测试期间通过setter将详细信息保存在那里 在执行步骤“和我从数据库获取员工数量”期间,您通过相应的设置器设置该数量,在步骤“和我获取所有员工”期间,您通过专用设置器设置数量。 然后在“我验证员工数量与数据库中的员工数量相同”的步骤中,通过getter获得这两个数字并进行比较
顺便说一句,如果您将员工的姓名放入列表并比较列表,就可以比较他们的姓名(而不仅仅是人数)。在编写了一些场景和功能文件后,我了解了Cucumber,并解决了这个问题 黄瓜不是一种编程语言。它只是一种规范语言。当解释器到达
给定的,然后等关键字时,将调用Java代码中的匹配方法。所以它们只是触发器
这些方法是Javaglue
类的一部分。数据不会从Java类传递到gherkin特性文件中。该类在开始时实例化,并一直保留到结束。因此,它可以存储状态
因此,从我在上面问题中的示例来看,来自Spring端点调用的Then
响应将存储在glue
类中的成员变量中。下一个验证结果的Then
调用将调用相应的glue
方法,该方法将访问成员变量中的数据以执行比较
因此,小黄瓜不能做到这一点,但是glue
类中较低级别的Java可以做到。在编写了一些场景和功能文件之后,我理解了Cumber的这一点,并解决了这个问题
黄瓜不是一种编程语言。它只是一种规范语言。当解释器到达给定的,然后等关键字时,将调用Java代码中的匹配方法。所以它们只是触发器
这些方法是Javaglue
类的一部分。数据不会从Java类传递到gherkin特性文件中。该类在开始时实例化,并一直保留到结束。因此,它可以存储状态
因此,从我在上面问题中的示例来看,来自Spring端点调用的Then
响应将存储在glue
类中的成员变量中。下一个验证结果的Then
调用将调用相应的glue
方法,该方法将访问成员变量中的数据以执行比较
所以小黄瓜不能做到这一点,但是glue
类中较低级别的Java可以做到。Cucumber允许getter吗?是的,它允许。这是在步骤之间共享数据的方法。Cucumber允许getter吗?是的,允许。这是在步骤之间共享数据的方法。