2017-06-20 2 views
0

Dans l'une des définitions d'étape, j'ai créé une fonction dite "someFunction" qui prend un DataTable, qui a été défini dans mon fichier feature Feature1.Comment faire pour référencer même DataTable à travers différentes fonctionnalités dans cucumber-jvm?

Feature1.feature 
Given: User enters the following data 
Varibale1|Variable2|Variable3 
Value1|Value2|Value3 

StpeDef.java 
@Given(“^User enters the following data$”) 
public void someFunction(DataTable input){ 
} 

maintenant dans un autre fichier de fonction « Feature2.feature », l'un de mon scénario a besoin d'utiliser le même pas à savoir someFunction d'appel. Je sais que je peux utiliser la même définition d'étape, mais cela signifie-t-il que je devrais redéfinir la même entrée DataTable dans le fichier Feature2. Si non, comment le ferais-je? S'il vous plaît noter que je comprends le mot-clé Backgound et son utilisation, mais si je dis que j'ai besoin de garder ces scénarios dans des fichiers de fonctionnalités différentes, comment cela devrait-il être fait?

Répondre

0

Vous devrez dupliquer l'arrière-plan commun. Puisque la duplication est indésirable, vous devriez envisager de donner un nom/titre à l'état résultant qui est représenté par cet arrière-plan commun et créer une seule étape donnée qui peut être réutilisée. Quelque chose comme "donné: l'utilisateur a entré des données de contact valides" ou "donné: le panier a 3 éléments" (où tout 3 fera).

+0

Pourriez-vous s'il vous plaît m'aider à comprendre avec des exemples ou des fichiers de caractéristiques résultant? – RAKY