如何描述小黄瓜在 Given 子句中检索访问令牌的场景

How to describe a scenario in gherkin retrieving an Access Token in Given clause

我的问题比以往任何时候都更具概念性。我想描述一个使用 Cucumber 功能文件的好场景,我必须为我的每一行数据 table 一个来自身份提供者的新访问令牌。

Scenario:
    Given <Code Authorization>
    And <Access Token>
    And The client has the following information
        | email  | FirstName | Phone |
        | xpto@  | Richard   | 343242|
    When the client via Post /xpto
    Then The API response a Json file
        | code | response |
        | 200  | xpto     |

对于这种方法,我将使用数据 Table。但是,我不能提供静态访问令牌,因为它会过期。我每次测试 运行 时都应该得到一个新的,但这不是我自己测试的。令牌只是一个数据,我必须测试我的场景。

可以在给定步骤中调用 REST 吗?如果我这样做,我会混淆我的场景 objective。

欢迎任何想法,不是为了你的想法,而是为了这本书。 :-)

亲切的问候,

看来您需要令牌才能设置场景。在这种情况下,将它放在 Given 步骤中是可以的。您可以在 Given 步骤的步骤定义中执行 REST 或其他调用。例如:它可能看起来像下面这样。您可以根据需要更改措辞,但请尝试以显示应用程序初始状态的方式来措辞。

 Given I have a token for this scenario
 And The client has the following information 
  | email | FirstName | Phone | 
  |xpto@  | Richard   | 343242| 
 ...
 ...

Given 步骤是为了建立一个给定的状态。它被认为是 BDD 中的最佳实践。您可以在官方 BDD 文档中找到此信息 here

此外,如果您想了解更多关于 GivenWhenThen 的目的和结构,请务必查看 here