BT
x Votre opinion compte ! Merci de bien vouloir répondre au sondage InfoQ concernant vos habitudes de lecture !

BDD et JavaScript avec CucumberJS

par Jan Stenberg , traduit par Simon Courtois le 18 févr. 2014 |

CucumberJS est un nouvel outil qui, selon un récent article de Todd Anderson, lorsqu'il est ajouté dans le processus de développement d'un projet JavaScript, permet d'adopter les idées derrières le Behaviour Driven Development, BDD, et aide le développeur à suivre les principes du TDD en ayant une approche par l'extérieur, c'est-à-dire avoir des tests qui échouent tant qu'une fonctionnalité n'est pas implémentée.

Todd, développeur et co-auteur de trois livres, décrit CucumberJS comme un portage en JavaScript de Cucumber, outil de BDD, qui fonctionne à la fois pour les applications NodeJS et dans les navigateurs modernes. Il permet de rédiger les spécifications fonctionnelles en Gherkin et de les exécuter ensuite avec un utilitaire en ligne de commande qui génère un rapport de passage ou d'échec des étapes et scénarios d'une spécification. Il note cependant que Cucumber n'est que le framework de test, il incombe au développeur d'utiliser une bibliothèque d'assertion qui fait que ces étapes passent ou échouent.

Todd prend comme exemple une ancienne application de liste de courses pour expliquer comment faire du BDD avec Cucumber. Il donne par exemple la spécification suivante :

Feature: Shopper can add an item to their Grocery List
  Scenario: Item added to grocery list
    Given I have an empty grocery list
    When I add an item to the list
    Then the grocery list contains a single item

Qui en français peut se traduire par :

Fonctionnalité: Un client peut ajouter un produit à sa liste de courses
  Scenario: Produit ajouté à la liste de courses
    Étant donné que ma liste est vide
    Quand j'ajoute un produit à la liste
    Alors la liste de course contient un seul produit

La fonctionnalité représente la valeur ajoutée en termes de business alors que le scénario définit la liste des étapes produisant cette valeur ajoutée. Chaque scénario contient une liste d'étapes définies par les mot-clés Given, When et Then. CucumberJS va ensuite lire la spécification et exécuter ces étapes.

Utilisant CucumberJS avec NodeJS, Todd montre comment implémenter l'application en partant de tests qui échouent pour arriver à les faire tous passer.

Todd conclut sur sa conviction de l'intérêt d'un code bien testé lors d'un refactoring ou de la correction de bugs. Il ajoute que d'autres articles traiteront de son utilisation de CucumberJS pour lancer ses tests d'intégration dans un navigateur.

Le BDD a été développé par Dan North vers 2006.

Cucumber est un outil de BDD open-source qui fonctionne actuellement avec neuf langages dont JavaScript.

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Donnez-nous votre avis

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet
Commentaires de la Communauté

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Discuter

Contenu Éducatif

Rien ne serait possible sans le soutien et la confiance de nos Sponsors Fondateurs:

AppDynamics   CloudBees   Microsoft   Zenika
Feedback Général
Bugs
Publicité
Éditorial
InfoQ.com et tous les contenus sont copyright © 2006-2014 C4Media Inc. InfoQ.com est hébergé chez Contegix, le meilleur ISP avec lequel nous ayons travaillé.
Politique de confidentialité
BT