不同场景下黄瓜同随机class

Cucumber the same random class in diffrent scenarios

我有两个 Cucumber 场景。 在每个 sceanrio 上我想使用相同的 random_document

在我的步骤中 class 我有:

public class PatientCreateSteps {
private final String RANDOM_DOCUMENT='ABC'+RandomStringUtils.randomAlphabetic

....

#在特征文件中:
场景:添加患者文档

@When ("StepsFromScenarioI)
.....
@Then("StepsFromScenarioI)

场景:更新患者文档

@When("StepsFromScenarioII)

是否可以更改某些内容以在第二个 class 中不生成新的 RANDOM_DOCUMENT?

这取决于您要做什么。如果您想在单个测试 所有 场景中使用相同的随机字符串 运行 您可以将其设为静态。

public class PatientCreateSteps {
private static final String RANDOM_DOCUMENT='ABC'+RandomStringUtils.randomAlphabetic

....

但是,如果您尝试在两个方案之间共享特定文档,则不能这样做。

考虑从头开始创建它并指定完全相同的内容。例如

Scenario: A patient with a document
  Given a patient
  And a document for that patient
  ...


Scenario: A patient with the same document as another patient
  Given a patient
  And a document for that patient that is the same as another patients document
  ...

在这里创建患者后,您将创建第二个患者并给他一份文件,然后将第二个患者文件的副本交给第一个患者。

这听起来很有效率。特别是如果您习惯于手动测试事物。但是计算机速度非常快 and/or 可以并行处理事情。所以保持每个场景独立更重要。