gpt4 book ai didi

java - Cucumber,java - 如何在下一步中使用返回值?

转载 作者:太空宇宙 更新时间:2023-11-04 10:32:47 28 4
gpt4 key购买 nike

我无法在后续步骤中使用返回值。示例:我有一个方法:

public class learn_BDD {



@Test
@When("^ I have \"([^\"]*)\" dolars on acount$")
public String checkAcount(String amount){

String Value = Acount.checkValueOfAcount();

return returnValue;
}
@Test
@Then("^Check how much I spend$")
public void howMuchISpend(String returnValue){


String actualValue = Acount.actualAcountState();
if (actualValue < returnValue) {
System.out.println("You are spend money");
}
}

在这种情况下,我给出的错误是:

***BDD is declared with 1 parameters. However, the gherkin step has 0 arguments [].***

如果有人能帮助我,我将不胜感激。

最佳答案

您看到的错误是由于提供给 Then 注释的正则表达式中缺少捕获组造成的。

howMuchISpend 方法有 1 个参数,因此 Cucumber 需要 1 个捕获组,例如 @Then("^Check how much (.+) I Spend$")(.+) 捕获的字符串作为其参数的值传递。

@Test
@Then("^Check how much (.+) I spend$")
public void howMuchISpend(String returnValue){


String actualValue = Acount.actualAcountState();
if (actualValue < returnValue) {
System.out.println("You are spend money");
}
}

关于问题的其他部分,每个步骤定义都是独立的,测试方法返回的值将被忽略。如果您想将值从一个步骤传递到另一步骤,则必须使用类作用域变量。

顺便说一句,应避免使步骤相互依赖。

关于java - Cucumber,java - 如何在下一步中使用返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49820765/

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