JTF : Javascript unit Testing Farm
JTF est un nouveau service gratuit et collaboratif pour les programmeurs en javascript.
Il existe de plus en plus de sites web, de blogs, de cours, d’articles expliquant comment programmer en javascript et comment faire pour que son code soit le plus portable possible. Si vous avez beaucoup de chance, l’article vous dira sur quels browsers le code marche mais le plus souvent, vous n’en saurez absolument rien.
Comment, dans ces conditions, pouvoir travailler sereinement ? Chaque ligne de javascript que l’on écrit à toutes les chances de fonctionner sur votre browser et de complètement planter sur un autre.
Il existe bien les fameux tests unitaires ou les méthodes TDD qui permettent de se conforter dans le fait que ce que l’on a écrit est stable et sans erreur mais ces tests ne sont pas adapter aux tests de portabilité ou de compatibilité avec les autres browsers. Donc il ne reste plus qu’une solution : Acheter un pc et un mac, installer tous les browsers possibles et tester votre site web sur chaque browser avant chaque nouvelle release. Les plus aguerries écriront des TDD et n’auront que ces tests automatiques à lancer sur chacun des browsers, c’est déjà mieux. Sauf qu’il existe beaucoup de browser et encore plus de version. Comment installer IE4 IE5 IE5.5 IE6 IE7 sur la même machine ? Ce n’est pas possible. Evidement, d’excellents utilitaires comme vmware permettent d’installer pleins de machines virtuelles et d’y mettre un browser différent sur chaque mais encore faut-il que vous trouviez les fichiers d’installations des vieux browsers.
Prenons un exemple concret, vous avez toujours rêvé de pouvoir dire lors du prochain repas entre geeks que votre site est site Web2.0 grâce à la technologie AJAX. Vous avez besoin d’utiliser les requêtes asynchrones (vous savez pas vraiment quoi faire avec mais bon, vous trouverez bien un truc inutile). Apres 15 minutes de recherche sur Internet, vous allez trouver une demi-douzaines de code pour initialiser et envoyer un message asynchrone. Quelle version prendre ? Celle qui fait 250 lignes, qui va ralentir le chargement de votre page web de 10 secondes à causes des millions de tests préalables mais qui promet, logo à l’appui, qu’elle fonctionne même sur les grilles pains compatibles IE ainsi que sur les calculatrices HP48SX (tant pis si vous n’avez qu’une HP48S) ? Ou alors vous allez prendre la version qui fait 3 lignes et qui doit fonctionner partout mais qui en fait ne fonctionne que sur IE6 (et forcement, vous le découvrez le jour où vous faites la démo à votre patron qui n’a que IE5, pourquoi ne met il pas à jour son pc !!!).
C’est alors qu’arrive ce superbe site qui va vous changer la vie (si vous n’êtes pas un programmeur javascript, votre vie ne changera pas, désolé, vous aurez juste perdu 5 minutes de votre temps à lire ce ticket). Le site permet, gratuitement, d’ajouter des tests unitaires automatiques qui seront exécutés par toutes les personnes se baladant sur le site.
Vous pouvez aussi récupérer les scripts mis par les autres programmeurs en sachant exactement sur quelles browsers il ne fonctionne pas et pour quelles raisons. Vous pouvez aussi ajouter vos propres tests qui seront testés sur un très grand nombre de browser différents.
N’hésitez pas à partager vos connaissances en javascript et vérifiez la compatibilité de vos tests.