gpt4 book ai didi

java - Cucumber for REST,在重复步骤时写入功能文件

转载 作者:行者123 更新时间:2023-11-28 21:20:43 25 4
gpt4 key购买 nike

我在编写功能文件时遇到了问题,因为我目前想在每个场景中定义多个步骤。这是我的功能文件:

Feature: Add new voucher
As a user I want to be able to add vouchers

Scenario Outline: Add new voucher with an invalid voucher
Given a trip voucher <Voucher>
When I access "/voucher" endpoint
Then error message should be "Voucher is invalid"

Examples:
|Voucher |
|ABCDEFG |
|1234567 |
|invaL!Ds |

Scenario Outline: Add a previously redeemed voucher
Given a used voucher <Voucher>
When I access "/voucher" endpoint
Then error message should be "Voucher has already been used"

Examples:
|Voucher |
|VALIDVOUCHER |

我正致力于在 Go 上构建 REST API,同时学习在 Java 上创建集成测试,因为 QA 正在使用它进行测试。 When I access x endpoint 行上的最佳做法是什么?我知道它会产生 Duplicate step definition error。我应该更改我编写功能文件的方式,还是我遗漏了一些 Java 技巧。

最佳答案

我目前在工作中使用 SpecFlow + .NET,过去我也使用过 jBehave + Java。

您所做的一切都很好,不会给您带来任何错误。事实上,拥有这种 Given-When-Then 框架的优势之一是能够重用短语。

您需要注意的是确保您的步骤:当我访问“/voucher”端点时:应该只映射到步骤文件中的一个 Java 方法。所以,像这样:

@When("I access "/voucher" endpoint")
public void WhenIAccessVoucherEndpoint(){
// implementation of your step. may be make a Rest call.
}

因此,每次您在场景文件中引用此步骤时,框架都会为您调用此方法。这样,您将构建基本的构建 block (如果您正在测试具有页面对象模式的网站,则构建页面)和短语。因此,编写更多场景将变得越来越容易,因为只需要找到已实现的正确短语并查看它们是否可以重用即可。

关于java - Cucumber for REST,在重复步骤时写入功能文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52471994/

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