jsUnit

Kent Beck dit que lorsqu’il découvre un nouveau langage de programmation, il commence par écrire une suite de tests unitaires. Ma foi, pourquoi pas se lancer dans les tests unitaires en écrivant une telle suite qui s’auto-testerait ?

J’ai choisi le JavaScript, car je commence à comprendre les intérêts de ce langage, basé sur les prototypes et non pas sur un système d’héritage et de dérivation comme les langages objets qu’on connait généralement. J’ai aussi choisi le JavaScript car il n’a besoin que d’un navigateur, et de rien d’autre.

Ce fut plutôt sympa à faire, car je souhaitais que le script JS soit suffisant à lui-même et qu’il ne requière pas de fichier CSS externe. J’ai donc dû chercher comment injecter correctement du CSS dans un document HTML via JS, et qui soit compatible avec Gecko, IE et Webkit.

La solution est dans le code, et le résultat est disponible sur github : http://www.github.com/ysbaddaden/jsunit/

Publicités

Utiliser sa liste TODO

L’une des premières choses qui m’a marqué dans la lecture de Test Driven Development de Kent Beck, c’est sa manière de gérer sa liste de choses à faire lorsqu’il programme.

Attaquant un problème, il le grasse dans sa liste, de manière à mettre en avant ce sur quoi il est en train de travailler, ce qui est pratique pour savoir ce sur quoi on était en train de travailler, quand on revient le lundi au boulot. Voire après une simple pause café : un coup d’œil et on est repartit ! Pas besoin de réfléchir et pas de distractions (par ex. aller voir ses emails).

Par la suite, travaillant sur quelque chose il pense à divers problèmes ou choses à faire en rapport avec ce qu’il est en train de programmer. Systématiquement il note sa réflexion dans sa liste TODO, puis retourne à ce qu’il était en train de faire. Ayant noté sa réflexion, il peut l’oublier et y repenser plus tard, lorsqu’il consultera à nouveau sa liste. En attendant il reste à ce qu’il fait et ne se disperse pas.

Ceci est un principe de base des tests unitaires : décomposer les choses au plus simple, et les implémenter une par une. Lorsqu’on travaille sur une chose, on reste concentré dessus et on ne se disperse pas à vouloir régler tous les problèmes en même temps.

C’est pour cela, si j’ai bien suivi, qu’on parle de « tests unitaires » (unit tests en anglais) : on implémente les choses une à une. À vouloir tout faire en même temps on va tout mélanger. Par exemple un bon repas est composé d’une entrée, d’un plat et d’un dessert. On peut tout mélanger, mais je ne pense pas que ce soit une bonne idée. Imaginez donc un gâteau au chocolat avec une soupe de poisson. Pas top, hein ?

Lire la suite « Utiliser sa liste TODO »

Propulsé par WordPress.com.

Retour en haut ↑