Einführung der neuen YUI-Test

9. November 2010 auf 4.04 von Nicholas C. Zakas | In Entwicklung | 6 Kommentare

Wenn YUI-Test erstes Debüt hatte vor über drei Jahren, sah die JavaScript Tests Landschaft ganz anders aus. JSUnit war die de-facto-Standard und es gab sehr wenig Interesse oder Aufmerksamkeit auf diesen Bereich. YUI-Test begann als ein Wochenende Projekt von mir und entwickelte sich zu einer der umfassendsten Test-Frameworks zur Verfügung, wobei der erste in voller Ereignis-Simulation für Tastatur und Maus Ereignisse über alle A-Klasse-Browser und einer der ersten, um asynchrone Tests unterstützen.

Seit der Zeit, dass YUI-Test veröffentlicht wurde, gab es ein erhöhtes Maß an Interesse an JavaScript Tests wurden als Organisationen kleiner und großer kamen, um ihren Wert zu realisieren. Jede größere JavaScript-Bibliothek jetzt im Bundle mit einer Reihe von Unit-Tests sowie eine Test-Runner, was ein großer Schritt nach vorn für diese Bibliotheken ist. Darüber hinaus hat eine Reihe von Test-Tools und den Weg in die Welt der JavaScript Tests gemacht. Als Folge dieser Veränderungen war es Zeit für YUI-Test zu entwickeln.

Heute kündigen wir eine neue YUI Test-Projekt . Ziel ist es, eine komplette JavaScript Testlösung, dass alle Teile des Testprozesses umfasst erstellen.

YUI Test-Standalone-Bibliothek

Eines der ursprünglichen Ziele der YUI Test wurde an die meisten gängigen Beschwerden über JavaScript Tests zu eliminieren. Auf meinen Reisen, erhielt ich viele positive Rückmeldungen über die Leichtigkeit, mit der Tests eingerichtet werden könnte. Ich erhielt auch einige Kommentare von Nutzern jQuery, Dojo und andere JavaScript-Bibliotheken, die sie gerne YUI-Test verwenden möchten, aber fühlte sie sich nicht, weil sie nicht mit YUI sich. Auch wenn es möglich ist, nicht YUI-Code mit YUI Test (hier ist ein Test Artikel über die Benützung von YUI Test mit jQuery ), gab es noch eine Wahrnehmung, die YUI Abhängigkeiten gemeint müssen Sie YUI verwenden, wenn Sie YUI-Test verwenden möchten. In Anbetracht, dass das Feedback, aber auch auf den Trend zur eigenständigen JavaScript Test-Tools, so schien es, dass der beste Weg, um die Bedenken auszuräumen, um YUI als Abhängigkeit gänzlich zu beseitigen war. Mit diesem Gedanken wurde die YUI-Test standalone Bibliothek geboren.

Die Standalone- Bibliothek ist eine Obermenge aller Funktionen von YUI Test für YUI 2.x und YUI Test für YUI 3.x. Diese wird dann können wir die Standalone-Bibliothek als Kern der beiden Versionen von YUI Test-Einsatz. Am Ende wird es offiziell drei Geschmacksrichtungen von YUI Test, um zu verwenden: 1) der eigenständigen Bibliothek, wenn Sie sie nicht verwenden YUI, 2) die YUI 2.x-Version, und 3) die YUI-3.x-Version. Alle drei werden genau die gleiche Funktionalität, jedoch mit unterschiedlichen Schnittstellen freigeben, so dass bereits bestehende Tests, die Arbeit fortzusetzen.

YUI Test-Selen-Treiber

Eine weitere wichtige Veränderung, die in den letzten Jahren geschah, war eine Bewegung in Richtung kontinuierliche Integration und automatisierte Tests. Für alle großen Code-Basis, ist die Fähigkeit, automatisch Tests in regelmäßigen Abständen ein Must-Have. Die große Herausforderung für JavaScript Test war schon immer, wie Sie Ihren Code in möglichst vielen Browsern laufen wie möglich und aggregieren die Ergebnisse in einer Art nutzbaren Format. Dies ist, wo Selen kommt in.

Selen ist ein Test-Tool weit von der QS-Organisationen für die Funktionsprüfung verwendet. Der interessante Teil Selen, wie es zu JavaScript Test bezieht, ist seine Fähigkeit, starten Sie einen Browser, einige Befehle, und dann fahren Sie den Browser. Diese Fähigkeit, plus Selen ist schon beeindruckend und-verfügbarkeit in Organisationen, machte es ein ideales Werkzeug, auf denen die ersten Testfahrer für YUI Test-bauen.

Die YUI Test-Selen-Treiber wurde entwickelt, um mit einem Selenium Remote Control oder Selenium Grid-Server interagieren um das Testen von JavaScript in verschiedenen Browsern zu ermöglichen. Über die Befehlszeile können Sie einen Selenium-Server, Browser, um Tests auf Ausführen, und die Test-Dateien ausgeführt werden soll. Die Selenium Treiber übernimmt dann das Ausführen der Tests und die Zusammenstellung der Ergebnisse in JUnit XML-Format. Obwohl auch andere Formate zur Verfügung stehen, ist JUnit XML als Standard aufgrund seiner breiten Unterstützung in Test Berichterstattung und einer kontinuierlichen Build-Tools wie verwendet Hudson .

YUI Test Coverage

Sobald Sie Ihre Tests sind und fähig sind, um sie automatisch auszuführen, wird der nächste Teil des Puzzles, um festzustellen, wie viel von Ihrem Code ist tatsächlich getestet. YUI Test Coverage ist ein Code Coverage Tool für JavaScript, die Spuren, welche Codezeilen und welche Funktionen tatsächlich in Ihrem Browser ausgeführt werden. Es tut dies durch die Schaffung einer instrumentierten Version Ihres JavaScript-Code, der Statistiken über die Abdeckung hält. Diese Datei wird während der Ausführung Tests, um Statistiken zu sammeln, und am Ende haben Sie einen Bericht, welche Codezeilen ausgeführt wurden. Coverage-Daten hilft Ihnen festzustellen, wo weitere Tests erforderlich sind, um in geeigneter Weise wahrzunehmen alle Codepfade.

YUI Test Coverage ist in erster Linie für den Einsatz in einem kontinuierlichen Integration System entwickelt, obwohl Sie können den Zugriff auf die Berichterstattung von Daten programmatisch als auch zu bekommen. YUI Test Coverage ist auch entworfen, um mit YUI Test-Selen-Treiber arbeiten, so dass Code-Coverage-Statistiken werden automatisch gesammelt, wenn verfügbar.

Helfen Sie uns!

Diese Version des YUI Test-Projekt 1.0.0 beta 1, die wir brauchen Ihre Hilfe und Feedback, um eine endgültige Version 1.0.0 zu erreichen bedeutet, berücksichtigt. Der Quellcode für alle YUI Test-Projekt ist jetzt auf GitHub und Sie können Einzelheiten des Projekts und File-Bugs finden Sie unter YUILibrary.com . Dokumentation für die Test-Tool basiert auf YUILibrary.com und finden Sie zusätzliche Dokumentation und Beispiele in den Download . YUI Test ist veröffentlicht unter einer BSD-Lizenz YUI ist .

Es gibt eine Menge von Details über das neue Projekt zu diskutieren und dieses Thema ist wirklich nur eine Einführung in das neue Projekt. Viel mehr Unterlagen und Informationen ist in Vorbereitung, wie das Projekt weiter zu entwickeln.

Share and erweitern: Lesezeichen mit del.icio.us | digg it! | reddit!

6 Kommentare »

RSS-Feed für Kommentare zu diesem Beitrag. TrackBack URI

  1. Nice work Nicholas! Wir freuen uns auf ein genauer Blick. Die Trennung der Test-Framework von YUI scheint wie eine gute Idee.

    Kommentar von Christian - 10. November 2010 #

  2. Klingt vielversprechend, aber wenn Sie wollen, dass es auf nicht-YUI Projekte Ich denke, Sie brauchen, um re-Marke es verwendet werden. "YUITest" erweckt den Eindruck, dass es für YUI ist, auch wenn sie nicht über eine formelle Abhängigkeit darauf.

    Auch kann es verwirrend sein, bis 3 Versionen der Bibliothek haben zu müssen, wählen.

    Kommentar von Gabe Moothart - 11. November 2010 #

  3. Hallo Eric,

    Vielen Dank für das Feedback. Ich stimme kann es noch einige Verwirrung um Namensgebung, weshalb Evangelisation wird es wichtig sein wird. Sie werden feststellen, es gibt noch andere Tools unter dem YUI Dach, das auch nicht verlangen, die YUI-Bibliothek, wie YUI Doc und YUI Compressor. YUI Test ist immer noch Teil der YUI-Familie, da diese andere Werkzeuge sind.

    Die drei Versionen sind wirklich für die Abwärtskompatibilität mit vorhandenen Tests. Ich würde gerne alle auf mit nur einem standardisieren, aber ich möchte auch sicherstellen, dass alle diejenigen, die den älteren Versionen noch unterstützt werden. Meine Vermutung ist, dass die meisten YUI3 Benutzer die YUI3 Geschmack zu verwenden, und die Standalone-Bibliothek auf diejenigen, die nicht benutzt YUI ansprechen.

    Kommentar von Nicholas C. Zakas - 12. November 2010 #

  4. Super Neuigkeiten!

    Ich kann nicht warten zu laufen beginnt meine vorhandenen Tests gegen Saucelabs OnDemand-Service mit der Selenium Driver - das wird ein echter Vorteil gegenüber laufen kopflos Unit-Tests nur in Rhino werden.

    Kommentar von Liam Clancy (metafeather) - 15. November 2010 #

  5. Hallo Nikolaus,
    Sie haben erwähnt, dass es 3 Geschmacksrichtungen der neuen YUI Test-Bibliothek, 1 sein) yui 2.x 2) yui 3.x und 3), wenn nicht mit yui.
    Ich fand den Download für Beta-Version der Bibliothek auf yui-Bibliothek, die Geschmack ist diese Beta-Version 1), 2) oder 3) wie oben erwähnt, bin ich mit yui 2 und wollen, um zu bestätigen, wenn diese Beta-Version ist gut für yui 2.
    Auch was die erwarteten Zeitpläne für die endgültige Version 1.0.0.
    Was

    Kommentar von kaanta - 8. Dezember 2010 #

  6. Hallo Kaanta,

    1.0.0 ist für die Standalone-Version. Sie können diese Version mit einem Code, den Sie testen möchten, verwenden.

    Die finale Version von 1.0.0 wird in Richtung Ende des 1. Quartals 2011, das hängt stark vom Feedback und Fehlerberichte.

    Sobald die finale Version von 1.0.0 wird, wird die YUI2 und YUI3 Versionen aktualisiert, um diesen Kern zu nutzen.

    Kommentar von Nicholas C. Zakas - 9. Dezember 2010 #

Leave a comment

Hinweis: Kommentare sind für Erstbesucher moderiert. Spam gelöscht.

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Hosted by Yahoo!

Copyright © 2006-2011 Yahoo! Inc. Alle Rechte vorbehalten. Datenschutzbestimmungen - Nutzungsbedingungen

Präsentiert von WordPress auf Yahoo! Web Hosting .