Cucumber 小黄瓜:我们如何使用相同的步骤定义并从特征文件传递可选参数
我在restasured中使用Cucumber插件来编写我的功能文件并自动化REST服务。下面是我的场景Cucumber 小黄瓜:我们如何使用相同的步骤定义并从特征文件传递可选参数,cucumber,rest-assured,gherkin,Cucumber,Rest Assured,Gherkin,我在restasured中使用Cucumber插件来编写我的功能文件并自动化REST服务。下面是我的场景 Scenario Outline: Validate the elements in the GET response Given I have the data setup to test "<version>" and "<order>" When ... Then the response should contain accurate
Scenario Outline: Validate the elements in the GET response
Given I have the data setup to test "<version>" and "<order>"
When ...
Then the response should contain accurate data
Examples:
| version | order |
| V1 | O1 |
| V2 | O2 |
我的问题是,我希望有另一个类似下面这样的场景,我希望利用上面相同的步骤定义,但将附加参数“special order”作为可选参数传递。
我可以这样做吗?或者我需要为下面给定的步骤创建一个新的步骤定义吗?我在考虑方法重载/传递可选参数,但不确定它在小黄瓜中是否有效。像这样的
Ex:
Scenario Outline: Validate the elements in the GET response for special order
Given I have the data setup to test "<version>" and "<order>" and "<specialorder>"
When ...
Then the response should contain accurate data
Examples:
| version | order | specialorder
| V1 | O1 | SO1
| V2 | O2 | SO2
public void iHaveTheDataSetupToTestAnd(String clientCharacteristicTypeCd, String clientCharacteristicDataType, String specialOrder)
Ex:
场景大纲:验证特殊订单的GET响应中的元素
假设我有要测试“”和“”的数据设置
什么时候
那么响应应该包含准确的数据
示例:
|版本|命令|特别领主
|V1 | O1 | SO1
|V2 | O2 | SO2
public void i保存数据设置以支持(String clientCharacteristicTypeCd、String clientCharacteristicDataType、String SpecialLorder)
您想要的是委托给支持这两个步骤的助手。然后实现两个步骤,只需捕获调用并将其转发给助手即可
这将允许您在没有step类中的大量逻辑的情况下完成各种有趣的事情。在我的例子中,每一步通常只是一行或两行,我捕获参数并将它们转发给助手,在那里驱动被测系统的所有有趣的事情都会发生 您想要的是委托给支持这两个步骤的助手。然后实现两个步骤,只需捕获调用并将其转发给助手即可
这将允许您在没有step类中的大量逻辑的情况下完成各种有趣的事情。在我的例子中,每一步通常只是一行或两行,我捕获参数并将它们转发给助手,在那里驱动被测系统的所有有趣的事情都会发生 是否要避免在步骤定义中检查参数是否为空?如果您可以检查,那么这就足够了,我想我想对上述两个场景使用相同的步骤定义,但是如果我为其中一个场景传递了2个参数,并且步骤定义的签名中有3个参数,那么它将失败,并出现小黄瓜错误。是否要避免检查步骤定义中的参数是否为空?如果你可以检查,那么这就足够了,我想我想对上述两个场景使用相同的步骤定义,但是如果我为其中一个场景传递2个参数,并且步骤定义的签名中有3个参数,那么它将失败,并出现小黄瓜错误。谢谢Thomas。您知道如何通过功能文件和步骤定义概念来实现此帮助器吗?是的,我知道如何实现。您要做的是添加一个或多个类来解决您想要解决的问题。然后根据需要在steps类中创建这些助手的实例。我不久前写了一系列使用这种技术的博客文章,其中一篇文章是Thank Thomas。您知道如何通过功能文件和步骤定义概念来实现此帮助器吗?是的,我知道如何实现。您要做的是添加一个或多个类来解决您想要解决的问题。然后根据需要在steps类中创建这些助手的实例
Ex:
Scenario Outline: Validate the elements in the GET response for special order
Given I have the data setup to test "<version>" and "<order>" and "<specialorder>"
When ...
Then the response should contain accurate data
Examples:
| version | order | specialorder
| V1 | O1 | SO1
| V2 | O2 | SO2
public void iHaveTheDataSetupToTestAnd(String clientCharacteristicTypeCd, String clientCharacteristicDataType, String specialOrder)