gpt4 book ai didi

java - 步骤定义中的 Cucumber jvm varargs 支持

转载 作者:搜寻专家 更新时间:2023-11-01 01:21:08 26 4
gpt4 key购买 nike

如何在 Cucumber Java 绑定(bind)中定义步骤定义时使用可变参数的强大功能。我有以下步骤

Given I have following product: prod1, prod2, prod3

我的步骤定义

@Given("^I have following product [(exhaustive list of products or pattern of the product names)]$")
public void stepDef(String...args)
{
//Process varargs array "args" in here
}

我知道解决方法是将冒号后的完整字符串除外,然后在代码中使用 split(",") 拆分字符串并将其转储到数组中。但我只想知道 cucumber 本身是否支持可变参数模式。

TIA!!!

最佳答案

我不知道 Cucumber 是否支持可变参数,但也许您可以通过直接列表匹配来实现您的目标?

您可以在 Cucumber 的特征文件中定义示例列表

您可以在步骤结束时定义它们:

@Given i want a list
|Entry1|
|Entry2|

或内联:

@Given i want a list: Entry1, Entry2

然后你可以有这样的胶水代码:

@Given(^i want a list$)
public void i_want_a_list(List<String> entries) {
//do stuff
}

@Given(^i want a list: (.*)$)
public void i_want_a_list(List<String> entries){
//Do something with the list
}

您可以在这里找到更多信息:https://cukes.info/docs/reference/jvm#step-definitions

关于java - 步骤定义中的 Cucumber jvm varargs 支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28917796/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com