Voici le nouveau test YUI
Novembre 9, 2010 à 16:04 par Nicolas C. Zakas | En développement | 6 CommentairesLorsque YUI test premier a débuté il ya trois ans, le paysage de test JavaScript était très différent. JsUnit a été le standard de facto et il y avait très peu d'intérêt ou d'attention portée à ce domaine. YUI test a commencé comme un projet week-end de la mine et a évolué dans l'un des frameworks de tests les plus complets disponibles, étant les premiers à avoir la simulation d'événements pleine d'événements clavier et la souris dans tous les navigateurs de catégorie A et l'un des premiers à soutenir les tests asynchrones.
Depuis le temps que YUI test a d'abord été publié, il ya eu une augmentation du niveau d'intérêt dans les tests JavaScript comme petites et grandes organisations ont pris conscience de sa valeur. Chaque grande bibliothèque JavaScript est maintenant livré avec un ensemble de tests unitaires ainsi que d'un lanceur de test, qui est un énorme pas en avant pour ces bibliothèques. En outre, une série d'utilitaires de test a fait son chemin dans le monde des essais JavaScript. En conséquence de ces changements, il était temps pour l'essai de YUI à évoluer.
Aujourd'hui, nous annonçons un projet de test de nouveaux YUI . L'objectif est de créer une solution de test complète JavaScript qui englobe toutes les parties du processus de test.
Bibliothèque YUI Autonome d'essai
Un des objectifs initiaux de YUI test était d'éliminer la plupart des plaintes les plus fréquentes sur les tests JavaScript. Dans mes voyages, j'ai reçu beaucoup de commentaires positifs au sujet de la facilité avec laquelle les tests pourraient être mis en place. J'ai aussi reçu quelques commentaires des utilisateurs de jQuery, Dojo, et d'autres bibliothèques JavaScript qu'ils aimeraient utiliser YUI test mais a estimé qu'ils ne pouvaient pas parce qu'ils n'étaient pas en utilisant YUI elle-même. Même s'il est possible de tester non YUI YUI code avec test (ici une article parlant de l'aide de test YUI avec jQuery ), il y avait encore une perception que les dépendances YUI signifiait vous devez utiliser YUI si vous souhaitez utiliser YUI test. Considérant que le feedback, en plus de la tendance autonome des outils de test JavaScript, il a semblé que la meilleure façon de répondre aux préoccupations a été d'éliminer YUI comme une dépendance tout à fait. Avec cette pensée, la bibliothèque de YUI autonome d'essai était né.
Le autonome bibliothèque est un sur-ensemble de toutes les fonctionnalités de YUI Test de YUI YUI 2.x et 3.x. test pour YUI Ce sera ensuite nous permettre d'utiliser la bibliothèque autonome comme le noyau des deux versions de test de YUI. En fin de compte, il sera officiellement trois saveurs de test YUI à utiliser: 1) la bibliothèque autonome si vous n'utilisez pas YUI, 2) de la version 2.x de YUI, et 3) la version 3.x YUI. Tous trois se partageront exactement la même fonctionnalité, mais avec des interfaces différentes de sorte que les tests déjà existants continuent à travailler.
YUI test Selenium pilote
Un autre changement majeur qui s'est passé dans les dernières années a été un mouvement vers l'intégration continue et des tests automatisés. Pour toute base de code, la possibilité d'exécuter automatiquement des tests à intervalles réguliers est un must-have. Le grand défi pour les tests JavaScript a toujours été la façon d'exécuter votre code dans les navigateurs autant que possible et d'agréger les résultats dans une sorte de format utilisable. C'est là que le sélénium entre en jeu.
Le sélénium est un outil de test largement utilisé par les organismes d'assurance qualité pour les tests fonctionnels. La partie intéressante de sélénium en ce qui concerne les tests JavaScript est sa capacité à lancer un navigateur, d'exécuter certaines commandes, puis fermer le navigateur. Cette capacité, plus d'utilisation déjà impressionnante du sélénium et la disponibilité au sein des organisations, en fait un outil idéal sur lequel construire le pilote d'essai pour la première épreuve de YUI.
La YUI test Selenium pilote est conçu pour interagir avec un contrôle du sélénium ou du serveur distant Grille sélénium pour permettre des tests de JavaScript sur plusieurs navigateurs. Utilisation de la ligne de commande, vous pouvez spécifier un serveur Selenium, les navigateurs d'exécuter des tests sur, et les fichiers de test pour exécuter. Le pilote Sélénium prend alors le relais, l'exécution des tests et la collecte des résultats dans JUnit format XML. Bien d'autres formats sont disponibles, JUnit XML est utilisé par défaut en raison de sa large soutien dans les rapports de test et en continu des outils tels que la construction d'Hudson .
Couverture de test YUI
Une fois que vous avez vos tests et sont capables de les exécuter automatiquement, la partie suivante du puzzle est de déterminer combien de votre code est en fait l'essai. Couverture de test YUI est un outil de couverture de code JavaScript qui permet de suivre les lignes de code et les fonctions qui sont effectivement exécutées dans votre JavaScript. Il le fait en créant une version instrumentée du code JavaScript qui tient des statistiques de couverture. Ce fichier est utilisé lors de l'exécution des tests pour recueillir des statistiques, et à la fin, vous avez un rapport indiquant les lignes de code ont été exécutées. Les données de couverture vous aide à déterminer où plusieurs tests sont nécessaires pour exercer correctement tous les chemins de code.
Couverture de test YUI est conçu principalement pour une utilisation dans un système d'intégration continue, même si vous pouvez obtenir l'accès à la couverture des données par programmation ainsi. Couverture de test YUI est également conçu pour fonctionner avec YUI test Selenium pilote afin que les statistiques de couverture de code sont automatiquement recueillies lorsque disponibles.
Aidez-nous!
Cette version du projet de test est considéré comme YUI 1.0.0 beta 1, ce qui signifie que nous besoin de votre aide et vos commentaires à atteindre une finale version 1.0.0. Le code source pour tous les projets de test YUI est maintenant disponible sur GitHub et vous pouvez trouver les détails du projet et des bugs fichier à YUILibrary.com . Documentation pour l'outil de test est sur YUILibrary.com , et vous trouverez des documents supplémentaires et des exemples dans le téléchargement . YUI Test est publié sous licence BSD Yui .
Il ya beaucoup de détails à discuter sur le nouveau projet, et ce poste est vraiment juste une introduction au nouveau projet. Beaucoup plus de documentation et d'information est à venir que le projet continue d'évoluer.
Partager et prolonger: Conservez ce lien avec del.icio.us | Digg it! | reddit!
6 Commentaires »
Flux RSS pour les commentaires sur ce post. TrackBack URI



Nice, le travail Nicolas! Au plaisir d'avoir un regard plus étroit. Séparer le cadre de test de YUI semble être une bonne idée.
Commentaire par Christian - Novembre 10, 2010 #
Semble prometteur, mais si vous voulez qu'il soit utilisé sur la non-YUI projets, je pense que vous devez re-marque elle. "YUITest" donne l'impression que c'est pour YUI, même si elle n'a pas toute dépendance formelle sur elle.
En outre, il peut être déroutant d'avoir 3 versions de la bibliothèque d'avoir à choisir.
Commentaire par Gabe Moothart - 11 Novembre, 2010 #
Salut Gabe,
Merci pour les commentaires. Je reconnais qu'il ya peut-être encore une certaine confusion autour de nommage, ce qui explique pourquoi l'évangélisation sera important. Vous remarquerez qu'il existe d'autres outils sous l'égide de YUI qui ne nécessitent pas la bibliothèque de YUI, tels que YUI YUI Compressor et le Doc. YUI test est toujours partie de la famille YUI, comme le sont ces autres outils.
Les trois versions sont vraiment pour la rétrocompatibilité avec les tests existants. J'aimerais tout de standardiser en utilisant un seul, mais je veux aussi faire en sorte que tous ceux qui utilisent les anciennes versions sont toujours supportés. Mon intuition est que la plupart des utilisateurs utiliseront YUI3 la saveur YUI3, et la bibliothèque autonome fera appel à ceux qui n'utilisent pas de YUI.
Commentaire par Nicolas C. Zakas - Novembre 12, 2010 #
Nouvelles Awesome!
Je ne peux pas attendre pour commencer à courir mes tests existants contre les Saucelabs OnDemand de service avec le pilote Sélénium - ce sera un avantage réel sur l'exécution des tests unitaires décapité seulement dans Rhino.
Commentaire par Liam Clancy (metafeather) - 15 Novembre 2010 #
Salut Nicolas,
Vous avez mentionné qu'il y aura 3 nouveaux parfums de YUI bibliothèque de test, 1) yui 2.x 2) yui 3.x et 3) si vous n'utilisez pas Yui.
J'ai trouvé le téléchargement pour la version bêta de bibliothèque sur Yui bibliothèque, dont la saveur n'est cette version bêta 1), 2) ou 3) comme mentionné ci-dessus, je suis en utilisant yui 2 et veulent confirmer si cette version bêta est bon pour Yui 2.
Aussi ce que l'échéancier prévu pour la finale de la version 1.0.0.
ce qui concerne
Commentaire par kaanta - 8 Décembre, 2010 #
Salut Kaanta,
1.0.0 est la version autonome. Vous pouvez utiliser cette version avec le code que vous souhaitez tester.
La version finale du 1.0.0 sortira vers la fin du 1er trimestre 2011, dépendant largement de la rétroaction et des rapports de bogues.
Une fois la version finale du 1.0.0 est sorti, l'YUI2 et YUI3 versions seront mises à jour pour utiliser ce noyau.
Commentaire par Nicolas Zakas C. - Décembre 9, 2010 #