如何在BDD场景之间共享任何变量/对象?我正在使用Cucumber BDD和Java定义我的步骤定义

时间:2019-12-10 23:02:55

标签: java cucumber bdd

在所有情况下,登录API调用都很常见,因此我尝试使用“背景”。但是在本例中,在登录API调用之后,我们获得了会话ID,并且该会话ID需要作为标头传递给所有调用,都发生在登录调用之后。同样,同一用户不能多次进行登录呼叫,因此登录呼叫应仅发生一次,而下一次呼叫应仅使用第一次发生的登录呼叫的输出。

Cucumber BDD中有内置的技术可以处理这种情况吗?我只是不想在每种情况下都编写相同的登录步骤。

1 个答案:

答案 0 :(得分:0)

您可以使用全局变量示例:

public class Test{

public static final String NAME = "xpto"; // global}

System.out.println(Test.NAME);

使用Ruby,这非常简单: 我们只需要添加@

    # steps1.rb
Given /^a person exists by the name of John Galt$/ do
  @person = Person.new
  @person.name = 'John Galt'
end

# steps2.rb
Then /^his name should be John Galt$/ do
  @person.name.should == 'John Galt'
end