Behat en bref
Behat est un framework PHP pour faciliter la mise en place de tests automatisés dans une approche BDD, ATDD et TDD. Partant des échanges entre le représentant produit, les développeurs et les testeurs, vont pouvoir construire des tests en langage naturel Gherkin qui couvrent les exemples issus du BDD. Ceux sont ces fichiers Gherkin, dans une approche ATDD, que vous allez mapper sur le code du logiciel à construire pour rendre passant ces cas de tests.
Behat s’adresse en premier lieu aux logiciels écrits en PHP afin de constituer une base de tests unitaires et d’intégration (issus de l’ATDD/TDD).
Il est aussi possible d’utiliser Behat pour faire du test de bout-en-bout en manipulant les API grâce à la librairie Symfony native à Behat.
Il vous sera possible de faire quasiment tout ce que vous voulez. Etant dans un contexte PHP, rien ne vous empêchera d’enrichir votre framework de test avec d’autres librairies dont vous avez besoin (via l’usage de Composer).
Tout ce beau petit monde s’interface très bien avec Docker (Php proposant déjà des images prêtes à l’emploi).
POINTS FORTS ET AXES D’AMÉLIORATION
Ses points forts sont:
– l’approche BDD qui est fortement mise en avant
– lisibilité des tests avec Gherkin
– facilité d’intégration en contexte CI
– bonne documentation
L’outil n’a pas vraiment d’axes d’amélioration mais plutôt des limitations selon votre contexte:
– contexte PHP: pertinent d’utiliser Behat
– contexte non PHP: peut-être utile pour construire un framework de tests orienté API et workflow.
Conclusion
Behat est un outil très intéressant pour les équipes qui construisent des produits en PHP. Il sera un allié pertinent pour passer de la phase d’exemple (via les 3 amigos, bdd) vers la rédaction des cas de tests d’acceptation en Gherkin puis supporter le développement (approche ATDD/TDD).
Behat peut aussi être utile pour remplacer un Postman ou un SoapUI si ces derniers ne répondent pas à vos besoins.
Pour en savoir plus, je vous invite à consulter le site officiel: https://docs.behat.org/en/latest/
Publié par