gpt4 book ai didi

java - 您可以在某个步骤中同时使用@Given 和@And 吗?

转载 作者:行者123 更新时间:2023-11-29 07:23:40 26 4
gpt4 key购买 nike

我有几个共享步骤定义的测试。例如:

Scenario: test1
Given that the sky is blue
And that the sun is up
When I go outside
Then I might get a sunburn

Scenario: test2
Given that the sun is up
When I go outside
Then it will be light

“And that the sun is up”和“Given that the sun is up”这两个步骤在实现上是相同的。

我想要的是:

@And("that the sun is up")
@Given("that the sun is up")
public void thatTheSunIsUp() {
// Do some fancy and sunny things.
}

不幸的是,这不起作用。我怎样才能实现相同的目标,而不需要相同步骤的重复方法?

最佳答案

cucumber 中的每一步都定义为 GivenWhenThen,但实际上它更像是:

// ENTER PSUEDOCODE
@Step("that the sun is up")
public void thatTheSunIsUp() {
// Do some fancy and sunny things.
}

关键字是可互换的,这允许上下文确定它是先决条件 (Given)、被测操作 (When) 还是结果 (Then) )。

按照您原来的方式定义它(没有重复的 @And 部分),您将能够使用 GivenWhenThen, And, But* 作为关键字在你的feature文件中,并且cucumber的后端应该匹配你的步骤,但是您用于定义的内容应该与其预期用途相匹配(如前一段所述)

关于java - 您可以在某个步骤中同时使用@Given 和@And 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58769068/

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