Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Présentation Behat / Mink - Le BDD pour PHP

Présentation Behat / Mink - Le BDD pour PHP

Comment réaliser des tests fonctionnels de manière simple et efficace en PHP.
Introduction sur le framework de BDD Behat ainsi que Mink.
Utilisation du driver Sahi.

Avatar for Tristan Bessoussa

Tristan Bessoussa

November 17, 2011
Tweet

Other Decks in Programming

Transcript

  1. *  * Construit à l’aide des composants de symfony2 * Inspiré par

    Cucumber (projet Ruby) et surtout par sa syntaxe : le Gherkin Behat est un framework pour le Behavior Driven Development (BDD) Avec Behat, on écrit des « .feature » à l’interieur desquelles on teste une seule fonctionnalité avec un ou plusieurs scénarios
  2. *  Avec Behat, on écrit des « .feature » à

    l’interieur desquelles on teste une seule fonctionnalité avec un ou plusieurs scénarios. Le scénario est une suite d’action qui peux être écrit en Anglais comme dans d’autre langues. Les mots clés qui donnent une suite logique au scénario sont : •  Given : Indique un état connu avant de simuler l’interaction ou un événement arrivé avant •  When : La clé de l’interaction •  Then : Une chose attendue
  3. *  L’ensemble des « instructions » du scénario donnent naissance

    à une unique définition (Bootstrap de définitions sur Github). Par exemple, , correspond à la définition qui se trouve dans un fichier « FeatureContext  ».   Chaque définition est unique. Si l’instruction n’est pas connue, tel que : , Behat va nous réclamer sa définition.
  4. *  Prenons la définition de :   Ici, on va

    chercher dans la page l’élément qui porte les classes « .buttons .histo ». Si jamais cet élément est trouvé, on va cliquer dessus. Mink, quand à lui, est un couche d’abstraction qui permet de communiquer de la même manière quelque soit le driver qui va interagir avec le navigateur pour faire les tests. L’écriture des « définitions » se fait majoritairement en Mink   On peut ainsi, Controler la session du navigateur, Sélectionner des élements, et Manipuler des éléments
  5. *  Sahi est un driver qui permet de contrôler le

    browser. VIDEO YOUTUBE DE PRÉSENTATION D’UN PETIT SCÉNARIO / TEST (pour ceux qui n’ont jamais vu un test fonctionnel en action)