Am 1. Mai 2018 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

JavaScript: Unit-Testing

Was ist Unit Testing?

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Mit Unit Tests können Sie automatisiert die korrekte Arbeit eines Stücks Quellcode verifizieren. Eine anschauliche Einführung in das Thema gibt dieses Video.
06:57

Transkript

Was ist eigentlich ein Unit Test? Wenn Sie diese Frage beantworten möchten indem sie sich eine offizielle Definition anschauen dann werden sie vielleicht ein wenig enttäuscht sein, in einer offiziellen Definition finden nämlich etwas wie dieses hier und steht dann dass ein Unit Test ein Stück Code ist meist ein Methode das ein anderes Stück Code aufruft oder anschließend die Richtigkeit einer oder mehrerer Annahme überprüft. Und falls sich diese Annahmen als falsch erweisen, dann ist der Unit Test fehlgeschlagen. Und ein Unit-Test ist eine Methode oder Funktion. Das Ganze kommt übrigens vom Buch "The art of Unit Testing " von Roy Ashrof. Weiter geht es dort mit dem Text, dass ein Unit Test gegen ein systemaler Und dass es sich dabei um das zu testende System in einem Test Szenario handelt. Bedeutet also, dass hier... Ich kann gut verstehen wenn sie nach dieser Definition eher verwirrt statt erleuchtet. Was bedeutet unit testing also wirklich und um das zu erklären habe ich mir überlegt wie ich überhaupt zum unit-testing eine Vorgehensweise die sie heute unter Umständen schon durchführen. Stellen Sie sich vor Sie müssen eine neues Stück Code erzeugen. Wahlweise im Beckend oder im Frontend das ist eigentlich egal aber ist ein größeres Wenn Sie das geschrieben haben möchten Sie das ganz gerne testen. Diese testen das bedeutet ja ganz häufig dass man eine Anwendung starten muss, dort muss man sich vielleicht einloggen durch drei Masken klicken. Dann kann man eigentlich die neue Funktion testen nur um herauszufinden dass man einen Fehler gemacht hat. Danach müssen wir das Ganze korrigieren und anschließend neu probieren. Als Hilfsmittel habe ich mir deswegen früh an vielleicht machen wir das auch eine kleine Webseite oder im Fall von Backend Anwendung eine kleine Konsolenanwendung oder Desktop Anwendung geschrieben, und in dieser habe ich dann einen Button und dieser Button Der rief meine neue Funktionalität auf und wenn das Ganze funktioniert hat dDann habe ich eine Meldung ausgegeben. In dieser Meldung steht dann so etwas Das funktioniert ja toll für den Einstieg, hat natürlich den Nachteil dass das ganze nicht so gut skaliert. Denn irgendwann wird aus dieser einen Testfunktion etwas das aussieht wie diese Maske hier, wir haben also unheimlich viele Test, wie eine manuell durchführen müssen, wir wissen gar nicht mehr was sie einzelnen Tests was zu finden. Wenn wir aber nun festgestellt haben, dass es gut ist den Code nicht komplett manuell zu testen, sondern es so aber nicht machen möchten wie wir es hier sehen dann stelt sich natürlich die Frage: Wie sollten wir es denn machen? Na und ein Weg wie wird das ganz erledigen könnten wäre der Einsatz eines testing Frameworks. Ich habe dazu ein kleines Beispiel vorbereitet, ich möchte gar nicht so sehr ins Detail gehen sondern Ihnen nur einfach einfach einmal das Ergebnis zeigen. Ich habe hier meine Datei, die wir eben gesehen haben mit den vielen Testbuttons. Ich habe ein bisschen JavaScript-Code nämlich das Prime Tool Objekt mit der Funktion ist Prime Und das möchte ich ganz gerne testen, bisher habe ich das gemacht indem ich mir ganz hier unten ein bisschen Test Code geschrieben ob der nachdem Button Klick aufgerufen worden ist Und die habe ich jetzt gesagt wunderbar es funktioniert dann gib okay zurück sonst gibt nicht okay zurück. Aber das Automatisieren möchten dann können wir dazu ein Unit Testing Framework benutzen in meinem Beispiel ist das hier Jasmine, wie gesagt schon doch nicht so sehr auf die Syntax es geht mehr und die allgemeine Idee. Was ich nun mache, ich schreibe einen automatisierten Test zu meiner Prime JS Datei. Dazu benutze ich die Jasmine Syntax, sage das hier ist ein Test für mein Prime tool Und ich habe hier 2 Specs, das eine ist mein Prime Tool soll true zurückgeben wenn ich eine gültige Primzahl übergebe, Hier erwarte ich also, dass ich... Beim Aufruf von... Primetool is prime... Drei... Einen... true= einen Wert zurück bekomme. Anschließend kann ich jetzt das gleiche noch einmal für eine normale Zahl durchführen. Dazu kopiere ich mir das Ganze, füge es neu ein und... Sage hier nun... Wenn ich keine Primzahl übergebe dann möchte ich ganz gerne false haben. Und passe auch die Dokumentation des Test an. Wie gesagt Syntax noch gar nicht wichtig es geht um die allgemeine Idee. Und hier das muss natürlich "for a valid prime number" nicht für "valid prima number " heißen. Das Ganze speichere ich nun und führe es nun im Browser aus. Dazu kopiere ich mir hier mal den kompletten Pfad. Wechsel in ein Browser gibt es ganz hier ein und hier sehe ich das Ergebnis. Wo ist der Unterschied zu dem was wir eben gesehen haben? Der Unterschied zu dem was wir eben gesehen haben, wo ich einen Button hatte, den ich klicken musste ich zeige Ihnen das noch mal schnell. Also der Unterschied zu dem hier ist, ich muss hier nichts mehr anklicken und manuell auswerten. Stattdessem bekomme ich wenn ich so ein Test framework benutze, Ein Ergebnis über all meine Test, das ganzes lesbar, also hier steht nicht test123, sondern Prime Tools should return true for valid Prime number. Hier ist noch ein Rechtschreibfehler drin. Machen wir denn auch noch raus und wenn ein Test mal fehlschlägt, gebe mir einfach mal eine Primzahl ein und aktualisiere das ganze nun, dann bekommen wir auch direkt eine vernünftige Meldung angezeigt Wir heben also gelernt, dass es von Vorteil ist, sein geschriebenen Code automatisiert zu testen. Und wenn es nur dazu dient Zeit beim Debuggen zu sparen Oder die Funktionalität des eigenen Codes zu verifizieren. Wir haben dazu mehrere Möglichkeiten, wir haben zum einen die etwas hemdsärmelige Möglichkeit dass wir uns einfach eine Testseite anlegen mit ganz vielen Buttons und beim Klick auf so einen Button bekommen wir dann ein Ergebnis oder aber wir machen es professionell und benutzen ein Test framework, in meinem Fall war das Jasmine und hier sehen wir auf einer Seite direkt die ganzen Ergebnisse.

JavaScript: Unit-Testing

Steigen Sie in die Grundlagen des Unit-Testings ein und sehen Sie, wie Sie mit dem Jasmine-Framework Ihren JAvaScript-Code professionell testen können.

2 Std. 7 min (21 Videos)
Derzeit sind keine Feedbacks vorhanden...
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:19.05.2016

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!