En ce moment, je développe un petit service qui me permet de relever des données sur mon compteur d'électricité, les enregistrer et me les présenter. J'aurais pu déployer un système de domotique open source comme Domogik, mais l'idée était aussi d'aborder l'écosystème Node.js / Express.js sur un exemple concret.

Je reviendrai probablement plus tard sur le développement en lui-même. Je voulais partager aujourd'hui mon environnement de développement, basé comme d'habitude sur des tests.

ExpressTestLayout.jpeg

Le développement se fait avec Sublime Text avec quelques packages comme JSHint Gutter, Jade, Jade Snippets, Mocha Snippets.

À côté de l'éditeur, je lance un terminal avec l'option « Toujours visible » dans lequel je lance Byobu. Dans la partie haute du terminal, je lance npm test qui est configuré comme ceci "mocha -b --check-leaks -w --reporter min", dans la partie haute, je lance grunt watch:service qui est une combinaison de :

  • watch, qui lance une opération sur une modification de fichier ;
  • jshint, qui vérifie mes règles syntaxiques et logiques ;
  • express-server, qui lance le serveur ;
  • mocha-test, pour lancer les tests synthétiques.

Ainsi, à chaque modification d'un des fichiers, les tests unitaires sont lancés sur le code, et si le linter (jshint) est au vert, un serveur et lancé pour vérifier les tests en production.

Avec un deuxième écran, le terminal avec les tests y réside, pour me donner plus de place à l'édition et avoir une colonne pour la logique et une autre colonne pour la définition des tests.

C'est vraiment très agréable.