J'ai plusieurs tests qui partagent Définitions étape. Par exemple:
Scenario: test1
Given that the sky is blue
And that the sun is up
When I go outside
Then I might get a sunburn
Scenario: test2
Given that the sun is up
When I go outside
Then it will be light
Les deux étapes « Et que le soleil se lève » et « Étant donné que le soleil est en place » sont égaux dans leur mise en œuvre.
Ce que je voudrais est la suivante:
@And("that the sun is up")
@Given("that the sun is up")
public void thatTheSunIsUp() {
// Do some fancy and sunny things.
}
Malheureusement ça ne fonctionne pas. Comment puis-je obtenir le même, sans avoir des méthodes en double pour les étapes égales?
Chaque étape de concombre est défini comme Given
, When
ou Then
, mais en réalité , il est plus comme:
// ENTER PSUEDOCODE
@Step("that the sun is up")
public void thatTheSunIsUp() {
// Do some fancy and sunny things.
}
Les mots - clés sont interchangeables, ce qui permet le contexte de savoir si elle est une condition sine qua non ( Given
) une action en cours de test ( When
) ou un résultat ( Then
).
Définir comme vous avez à l' origine (sans la double @And
section), vous pourrez utiliser Given
, When
, Then
, And
, But
et *
dans votre fichier fonction que le mot - clé, et le back - end de concombre doit correspondre à votre étape, mais ce que vous utilisez pour votre définition devrait correspondre à son utilisation prévue (comme décrit dans le paragraphe précédent)