BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Actualités BDD et JavaScript avec CucumberJS

BDD et JavaScript avec CucumberJS

Favoris

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.

Evaluer cet article

Pertinence
Style

Contenu Éducatif

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

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

Commentaires de la Communauté

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

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

BT