2009-09-01 10 views
4

Je dois tester un message de routage d'application, dont la fonctionnalité est généralement comme suit: - message est envoyé à l'App - application examine un message - message est quelque part transmis, en fonction de la contenu du messagetests de données axée sur le concombre

La grande majorité des cas de test sont presque identiques; générer un type particulier de message, le charger dans le système, attendre quelques secondes, puis vérifier la destination requise pour s'assurer que le message a été transmis correctement.

Plutôt que de générer 100s de cas de test presque identiques dans le concombre, existe-t-il une méthode recommandée pour générer un cas de test et faire parcourir plusieurs fois les tuples (message, required_destination)? Je préférerais que ces tuples soient conservés dans un fichier YAML plutôt que dans une base de données, pour faciliter la maintenance, mais l'une ou l'autre solution serait bonne.

Répondre

5

Vous devriez essayer Scénario Outline utilisant Exemples

Scénario normal

Scenario: Login 
    Given I am on login page 
    When I enter username "Jonas" and password "secrect" and press login 
    Then I get redirected to "Jonas Home Page" 

Scénario Aperçu

Scenario Outline: Login 
    Given I am on login page 
    When I enter username <username> and password <password> and press login 
    Then I get redirected to <redirect_page> 

Examples: 
    | username | password | redirect_page  | 
    | "Jonas" | "secret" | "Jonas Home Page" | 
    | "Anna" | "Data" | "Annas Home Page" | 

En savoir plus : https://github.com/cucumber/cucumber/wiki/Scenario-Outlines

0

Je n'ai pas ce genre de situation dans le concombre, mais j'utiliser des tuyaux fichiers séparés dans les spécifications pour les tests de données massives, espérons qu'il contribuera à:

Vous pouvez trouver des exemples here in description of DamerauLevenshteinMod et here in read_test_file

Je ne voyez pourquoi la même approche ne peut pas être utilisée pour le concombre.

+0

Merci Dimus. Je peux penser à un certain nombre de façons possibles de le faire - d'ailleurs, avoir du code parcourir mon fichier YAML et écrire un nouveau scénario de concombre pour chaque type de message fonctionnerait très bien - mais je suis surtout intéressé de savoir s'il y a un concombre "natif" ou "recommandé" façon de le réaliser. – monch1962

Questions connexes