159 votes

Test unitaire en Javascript ?

Quelle est la meilleure façon d'exécuter des tests unitaires pour Javascript ? J'ai joué avec Selenium IDE, mais il est spécifique à Firefox. Selenium RC a l'air... difficile - mais est-ce le meilleur moyen d'exécuter des tests dans, disons, IE6 ?

Aussi, cela vaut-il la peine de le faire ? Je n'ai pas vu beaucoup de tests automatisés pour les applications Javascript, mais il me semble qu'étant donné que c'est le langage qui gère la majeure partie de l'expérience utilisateur, il devrait être testé. Testez-vous votre Javascript, seulement le code back-end, ou aucun des deux ?

85voto

Vitor Silva Points 4804

Ces deux derniers jours, j'ai également recherché des cadres de test unitaire en javascript, mais je n'ai toujours pas arrêté mon choix.

  • Celui-là, QUnit semble intéressant. QUnit est le testeur unitaire du projet jQuery.

  • Aussi, FireUnit une extension de FireBug, a été récemment lancée. FireUnit fournit une API JavaScript simple permettant de consigner et de visualiser les tests dans un nouvel onglet de Firebug.

49voto

marcospereira Points 3144

J'ai déjà essayé JsUnit et QUnit et je trouve que QUnit est plus facile à utiliser. Quelques bons articles sur QUnit :

26voto

dwfrank Points 361

Si vous aimez Screw.Unit, je vous recommande de passer sur Jasmine . Jasmine est également un cadre BDD, mais il ne dépend pas de jQuery, ce qui permet d'exécuter vos tests dans de nombreux autres environnements - Rails, PHP, Node.js, Palm webOS et même iPhone (avec PhoneGap).

Malheureusement, Screw.Unit n'est pas activement maintenu, bien qu'il existe des bifurcations actives du projet.

Nous avons écrit Jasmine pour ces raisons (et quelques autres). Jetez-y un coup d'œil - nous aimerions avoir votre avis.

15voto

Bill the Lizard Points 147311

JsUnit est un portage de JUnit qui vous permet d'exécuter des tests Javascript sur plusieurs navigateurs. Je fais beaucoup plus de tests back-end que front-end, mais j'aime automatiser tous les tests que je peux.

Mise à jour : en réponse au commentaire de leeand00, il existe plusieurs alternatives à JsUnit.

Pour n'en citer que quelques-uns. Il existe plus d'alternatives pour différents environnements de développement également.

9voto

Le site de Google jsTestDriver est également intéressante, notamment pour les tests inter-navigateurs.

En plus d'un cadre semblable à JUnit pour l'écriture des tests à l'aide de méthodes assert*(), il fournit un exécuteur de tests automatique permettant de tester rapidement plusieurs navigateurs en même temps d'un simple clic sur "run" depuis votre IDE (Eclipse et IntelliJ sont pris en charge).

Et il y a un adaptateur pour QUnit .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X