JavaScript : Google passe en open source son framework de test unitaire
JS Test repose sur le moteur V8 et n'a pas accès au DOM
« JS Test », le framework de test unitaire JavaScript de Google, est désormais open source et accessible à tous les développeurs, peut-on apprendre sur le blog Open Source at Google.
Les tests écrits pour JS Test s'exécutent sur le moteur V8 de Google Chrome. Cela devrait garantir « des temps de lancement et d'exécution extrêmement rapides, sans même avoir besoin d'ouvrir un navigateur », affirme Aaron Jacobs, un ingénieur de Google.
Il est en outre possible d'exécuter sa suite de tests sur navigateur par le biais d'un mécanisme qui se met à jour dès que le code JavaScript change.
Les créateurs du framework se sont grandement inspirés du style et de la sémantique de Google Test, un autre framework open source de Mountain View, cette fois pour le langage C++.
À ce propos, JS Test embarque un framework de Mocking intègre, pour la simulation du comportement d'objets réels. Ce framework reprend la sémantique du Google C++ Mocking Framework.
Un ensemble riche de fonctions de tests augmente l'expressivité du code de test et améliore sa lisibilité. Le développeur a d'ailleurs la possibilité de l’étendre avec ses propres « matchers ».
Il est toutefois important de signaler que JS Test n'a pas accès au DOM (Document Object Model), ni aux appels inhérents aux navigateurs (comme window et document). Son utilisation se trouve donc grandement limitée dans le cadre d'une application Web classique, mais trouve parfaitement son indication pour une application complexe avec beaucoup de logique à tester.
Ou mieux encore, sur une application serveur en Node.js.
Le code qui ne peut être découplé de la manipulation du code peut être testé en mettant à contribution les fonctions de mocking sus-décrites. Possible, mais laborieux surtout si l'ont doit prendre en compte les spécificités des navigateurs.
Actuellement en version 1.0.4, JS Test est disponible sous licence Apache 2.0.
JS Test est disponible en téléchargement sur cette page
Sources : compte Google code du projet, blog Open Source à Google
Et vous ?
Que pensez-vous de JS Test ?
Qu'utilisez-vous pour tester vos codes JavaScript ?
Partager