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

Cucumber 如何描述小黄瓜在给定子句中检索访问令牌的场景,cucumber,bdd,cucumber-java,Cucumber,Bdd,Cucumber Java,我的问题比以往任何时候都更具概念性。我想用Cucumber特性文件描述一个好的场景,在这个场景中,我必须为数据表的每一行提供一个来自身份提供者的新访问令牌 即 场景: 给定 及 客户有以下信息 |电子邮件|名字|电话| |xpto | Richard | 343242| 当客户端通过Post/xpto 然后,API响应将生成一个Json文件 |代码|响应| |200 | xpto| 对于这种方法,我将使用一个数据表。但是,我无法提供静态访问令牌,因为它将过期。每次测试运行时我都应该得到一个新的

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

场景:
给定<代码授权>
及
客户有以下信息
|电子邮件|名字|电话|
|xpto | Richard | 343242|
当客户端通过Post/xpto
然后,API响应将生成一个Json文件
|代码|响应|
|200 | xpto|
对于这种方法,我将使用一个数据表。但是,我无法提供静态访问令牌,因为它将过期。每次测试运行时我都应该得到一个新的,但这不是我的测试本身。令牌只是一个我必须测试我的场景的数据

在给定步骤中调用REST可以吗?如果我这样做,我就混淆了我场景的目标

任何想法都是受欢迎的,不是你的想法,而是书本。:-)


您好,

您似乎需要令牌来设置场景。在这种情况下,可以在
给定的
步骤中使用它。您可以在步骤定义中为给定的
步骤执行REST或其他调用。例如:它可能看起来像下面这样。您可以随意更改措辞,但尽量以显示应用程序初始状态的方式使用

 Given I have a token for this scenario
 And The client has the following information 
  | email | FirstName | Phone | 
  |xpto@  | Richard   | 343242| 
 ...
 ...
给定
步骤旨在建立给定状态。这被认为是BDD中的最佳实践。您可以在官方BDD文档中找到此信息


此外,如果您想了解更多有关给定的
时的
然后的
的目的和结构,请务必查看您似乎需要令牌来设置场景。在这种情况下,可以在
给定的
步骤中使用它。您可以在步骤定义中为给定的
步骤执行REST或其他调用。例如:它可能看起来像下面这样。您可以随意更改措辞,但尽量以显示应用程序初始状态的方式使用

 Given I have a token for this scenario
 And The client has the following information 
  | email | FirstName | Phone | 
  |xpto@  | Richard   | 343242| 
 ...
 ...
给定
步骤旨在建立给定状态。这被认为是BDD中的最佳实践。您可以在官方BDD文档中找到此信息


此外,如果您想了解更多有关给定的
然后
的用途和结构的信息,请务必仔细查看在我看来,如果这是场景的先决条件,我将在后台为令牌添加Rest请求(您可以为所有需要此令牌的场景共享此背景)而不是被给予。即使在一个场景中混合两个API调用可能不是一个好的做法,但仍然比在每次运行时手动更新要好。在我看来,如果这是场景的先决条件,我将在后台为令牌添加一个Rest请求(您可以在需要此令牌的所有场景中共享此后台),而不是在给定的场景中。尽管在一个场景中混合两个API调用可能不是一个好的做法,但仍然比在每次运行时手动更新要好。