Infinitest ? Done

Vous le savez peut-être, au bureau, on utilise un langage qui n’est pas le Java. Qui n’est pas non plus le C#. Qui n’est pas non plus le {langage bien connu qui figure dans le Tiobe index}. En fait, pour être honnête, il n’y aucune espèce de chance que vous le connaissiez si vous n’avez pas travaillé dans l’entreprise qui m’emploie actuellement, ou en avez été un client.
C’est une situation assez difficile, parce que les outils qui existent pour les langages plus connus n’existent pas chez nous. Pas plus, d’ailleurs, que n’existent les frameworks de développement que vous utilisez, ou même les outils de build qui vous sont imposés. Les outils dont on dispose, ce sont ceux qu’on crée nous-mêmes.
Je suis donc assez fier de pouvoir affirmer que, nous aussi, nous pouvons écrire des tests unitaires à la JUnit (éventuellement paramétrés). J’en suis fier, parce que c’est moi qui ai écrit (avec l’aide d’un expert local, évidement), l’outil d’exécution des tests unitaires. D’ailleurs, dans une optique d’intégration continue, on a depuis des mois un job Hudson qui les exécute à distance pour agréger leurs résultats.
Mais bon, tout ça, c’est de la rigolade, ça vaut pas mieux que le plugin JUnit pour Eclipse.
Ce qui serait vraiment canon, ce serait de disposer d’un outillage à la Infinitest qui, quand on modifie un fichier source, repère les tests intéressants, les exécute, et affiche les résultats. Enfin, Infinitest, c’est peut-être un peu ambitieux, on pourrait peut-être se contenter de quelque chose comme JUnitFlux.
Et bien devinez quoi ? C’est ce qu’on a fait.

 

En fait, on a ajouté à nos fichiers un commentaire

 

@testedBy UneClasseDeTest

 

Et, quand le fichier est compilé, toutes ces annotations sont lues, les tests unitaires de ces classes sont exécutés, et les résultats sont affichés dans la vue JUnit d’Eclipse (grâce à un bon coup de reverse engineering sur le format XML de JUnit/Ant – merci encore à StackOverflow). Et franchement, c’est incroyablement pratique : à la sauvegarde d’un fichier, on sait tout de suite si le test unitaire fonctionne encore. On a donc, en plus de la compilation, une information supplémentaire sur la qualité du code produit. Et ça, ça donne envie d’aller encore plus loin, justement en essayant enfin Infinitest … mais évidement, c’est beaucoup plus compliqué d’analyser quels tests unitaires s’appliquent à un fichier donné quand on ne dispose pas des innombrables librairies d’analyse de code dont dispose Java.
Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s