Was ist in YUI 3.0.0 Test-New
10. Dezember 2009 um 09.07 Uhr von Nicholas C. Zakas | In Entwicklung | Keine KommentareNicholas C. Zakas Yahoo! trat im Jahr 2006. Er ist Autor von Professionelle Ajax und JavaScript Profi für Web-Entwickler . Sein Test-Driven Development Präsentation ist eine von mehreren vom Nikolaus auf YUI Theater .
Eine neue Version des YUI-Test begleitet die Freisetzung von YUI 3.0.0 . YUI Test für 3.0.0 ist mehr als nur ein Port der 2.x-kompatible Version von YUI Test ist jedoch die Einführung mehrerer neuer Features. Diese haben etwa als Folge der Entwickler Anfragen und Gespräche, die ich mit den bereits mit Hilfe des Werkzeugs gehabt habe zu kommen.
Förderung der Ereignis-Simulation
Ereignis-Simulation wurde ursprünglich in der 2.x-Version von YUI Test über das eingeführt YAHOO.util.UserAction Objekt. Wie sich herausstellte, Entwicklern wirklich gut gefallen und Funktionalität gefunden Verwendungen für sie außerhalb der Testumgebung. Als Ergebnis haben die Veranstaltung Simulationstool befördert worden, um ein erstklassiges Mitglied der sein YUI 3.0.0 Event-Dienstprogramm , zugänglich in einem einzigen Verfahren, Y.Event.simulate() . Sie können den Ereignis-Simulation Komponente enthalten, indem "event-simulate" in das YUI().use() Methode:
YUI (). Verwenden ("event-simulieren", function (y) { Y.Event.simulate ("# node", "Klick", {ClientX: 25, clientY: 30}); });
Mock-Objekte
YUI Test für YUI 3.0.0 führt eine neue Fähigkeit: Erstellung von Mock-Objekte. Mock-Objekte sind nützlich, um Ihre Unit-Tests aus Abhängigkeiten zu isolieren. In komplexen Software-Systemen gibt es oft eine beliebige Anzahl von Stücken, die sich aufeinander verlassen. Das Problem wird dann zu isolieren, welcher Teil des Systems versagt, wenn etwas schief geht.
Angenommen, Sie haben eine Methode namens logToServer() dh eine erstellen XMLHttpRequest Objekt und senden Sie eine Nachricht an den Server. Wenn Ihr Test umfasst die tatsächlichen XHR-Objekt in einem Versuch, die Funktionalität zu testen, haben Sie zwei große Abhängigkeiten: Die XHR-Objekt selbst und die Server. Wenn eine dieser beiden Abhängigkeiten fehlschlägt, dann ist dein Test fehlschlägt, obwohl es nicht ist dein Code, der im Unrecht ist. Durch die Verwendung eines Mock XHR-Objekt, können Sie den Code in Isolation testen und garantieren, dass es funktioniert. Zum Beispiel:
/ / Erzeuge einen neuen Mock-Objekt var mockXhr = Y.Mock (); / / Ich erwarte von der Methode open (), um mit den gegebenen Argumenten aufgerufen werden Y.Mock.expect (mockXhr, { Methode: "offen", args: ["? / log.php msg = hallo" "get",, true] }); / / Ich erwarte von der Methode send (), um mit den gegebenen Argumenten aufgerufen werden Y.Mock.expect (mockXhr, { Methode: "send", args: [null] }); / / Jetzt rufen Sie die Funktion logToServer ("hallo", mockXhr); / / Überprüfen, die Erwartungen wurden erfüllt Y.Mock.verify (mockXhr);
Dieses Beispiel erstellt ein Mock-Objekt, das XHR an Stelle einer regulären XHR-Objekt verwendet wird. Sobald alle Vorgänge abgeschlossen sind, wird vom Code geprüft, dass die erwarteten Methoden, die genannt wurden. Die YUI Test-Mock-Objekt-API ist absichtlich minimal um so klar und nützlich wie möglich zu sein. Um mehr zu erfahren über Mock-Objekte in YUI-Test finden Sie in der Dokumentation .
Freundlich Testnamen
YUI Test zunächst nutzten die xUnit-Stil von Prüfverfahren, wobei jede Testmethode mit den Namen anfangen müssen test . YUI Test für 3.0.0 geht einen Schritt weiter, so dass Sie freundlich Test-Namen in den zusätzlichen xUnit-style-Namen angeben. Freundlich Namen sind mehr Sätze als alles andere, und die einzige Einschränkung ist, dass Name enthält mindestens ein Leerzeichen und das Wort "sollte". Zum Beispiel:
var = new TestCase Y.Test.Case ({ Name: "TestCase Name", / / XUnit-Stil Testname testSomeFunction: function () { }, / / Test freundlichen Namen "Es sollte etwas auch hier passieren": function () { ... } });
Freundlich Test Namen können Sie die Funktionalität in einer besser lesbaren Art und Weise getestet beschreiben. Schreiben eine Formulierung wie "Methode sollte 4 zurück, wenn bestanden 2 und 2", und nachdem die zeigen sich in den Testergebnissen, macht es einfacher, die Testergebnisse zu interpretieren und was sonst noch behandelt werden muss.
Was kommt als nächstes?
YUI Test weiterhin entwickeln und zu wachsen als Feedback von Entwicklern empfangen wird. Es gibt einige Features, die derzeit in den Werken:
- Mehr Testergebnis Formate wie XML JUnit und TAP.
- Code Coverage die Erfassung und Übermittlung.
- Testautomatisierung mit Selenium.
Wenn Sie Ideen oder Anregungen haben, würden wir uns freuen von Ihnen zu hören bei YUILibrary.com , wo man Feature-Anfragen einreichen oder starten Sie eine Diskussion im Forum . Mit Ihrer Hilfe können YUI-Test weiter entwickeln, um die Bedürfnisse des sich ständig verändernden Web-Entwickler-Community gerecht zu werden.
Teilen und zu erweitern: Lesezeichen mit del.icio.us | Digg it! | reddit!
Noch keine Kommentare
Leider ist die Kommentarfunktion zu diesem Zeitpunkt geschlossen.

Copyright © 2006-2012 Yahoo! Inc. Alle Rechte vorbehalten. Datenschutz - Allgemeine Geschäftsbedingungen
Powered by WordPress auf Yahoo! Web Hosting .
