不同场景下黄瓜同随机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 可以并行处理事情。所以保持每个场景独立更重要。
我有两个 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 可以并行处理事情。所以保持每个场景独立更重要。