gpt4 book ai didi

java - 如何通过重复步骤使用 jbehave 参数

转载 作者:行者123 更新时间:2023-11-30 04:05:39 25 4
gpt4 key购买 nike

我的测试用例有一些重复的步骤

Given user 123456 with amount USD50
When charge request made by User
Then Charge request should be success

When refund request made by user for USD50
Then Refund request should be success

When refund request made by user for USD50
Then Refund request should be fail

我希望使用 http://jbehave.org/reference/stable/parametrised-scenarios.html 中解释的表格参数。

但是我不想将测试分成两个场景,而是想将其保留为一个场景

最后它应该看起来类似于下面的内容。例如:

Given user <user> with amount <charge>
When charge request made by the user
Then Charge request should be success

When refund request made by user for <refund>
Then Refund request should be <result>

When refund request made by user for <refund>
Then Refund request should be <result>
Examples:
|user|charge|refund|result|refund|result|
|123456|USD50|USD50|success|USD50|fail|
|123456|USD50|USD20|success|USD10|fail|

但是执行时结果页面显示参数表为

user        charge  refund  result  refund  result
postpaid USD50 USD50 fail USD50 fail
postpaid USD50 USD10 fail USD10 fail

似乎这些字段已分配给最后一个值。

我无法用两个不同的名称命名文件(例如:refund1、refund2),因为该方法是使用命名参数编写的

@When("refund request made by user for $refund)
@Alias("refund request made by user for <refund>")
public void refundRequest(@Named("refund") String refund){

//refund code

}

请帮忙

最佳答案

为了实现这一点,您需要更改参数控件以使用分隔符命名参数,如下所示:

 public ParametrisationByDelimitedName() {
useConfiguration(new MostUsefulConfiguration()
.useParameterControls(new ParameterControls().useDelimiterNamedParameters(true))
.useStoryReporterBuilder(
new StoryReporterBuilder().withFormats(Format.CONSOLE)));
}

有关完整示例,请参阅以下链接:

https://github.com/jbehave/jbehave-core/blob/master/examples/core/src/main/java/org/jbehave/examples/core/stories/parametrisation_by_delimited_name.story

https://github.com/jbehave/jbehave-core/blob/master/examples/core/src/main/java/org/jbehave/examples/core/stories/ParametrisationByDelimitedName.java

关于java - 如何通过重复步骤使用 jbehave 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20785291/

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