Willkommen zurück.
Fahren wir jetzt mit unseren Unit-Tests fort.
Eine Sache, die mir hier aufgefallen ist, ist, dass wir beim Betrachten der Dokumentation tatsächlich eine Einfügungsinstanz haben.
Wir können also tatsächlich, anstatt Asatru nur zu sagen, die Behauptung ist Instanz verwenden, die wir A
und B wieder geben, all diese Testmethoden, es gibt keine richtige.
Sie können jedes beliebige Tool als Werkzeug verwenden, um Ihren Code zu verbessern.
In meinem Fall ändern wir dies einfach, um eine Instanz zu bestätigen und dies zu beheben.
So, also nur ein bisschen sauberer, mal sehen, ob das funktioniert, in Ordnung.
Alles ist noch gut.
OK, versuchen wir noch einmal, unseren Code zu knacken.
Es sieht also alles gut aus.
Aber was ist, wenn wir etwas anders machen?
Was ist, wenn wir es, sagen wir, bei einem anderen Test tun und wir sagen, dass Test auch Sachen macht?
Normalerweise möchten Sie diese Funktionen viel besser benennen.
Sie sind also beschreibender.
Aber in unserem Fall ist das in Ordnung.
Nur damit wir sehen können, wie sie dieses Mal funktionieren.
Lassen Sie uns testen, dass Param gleich ist.
Wie wäre es mit einem Nichts?
Wenn ich das jetzt ausführe, führen wir diesen Code erneut aus.
Und übrigens, Sie werden hier vielleicht bemerken, wie ich Code in einem Test kopiere, und Sie denken vielleicht, nun, können
wir das einfach einfacher machen?
Und uns nicht wiederholen.
Und Sie können das völlig tun und die Dinge viel einfacher machen.
Aber wenn es um Tests geht, weil sie nicht in Produktion gehen und dies nur
zu Entwicklungszwecken ist, möchten Sie wirklich Tests haben, die einfach zu lesen sind, damit andere Ihre Tests
verstehen, denn wenn es um Tests geht, Lesbarkeit ist wirklich sehr wichtig.
Wir kümmern uns nicht so sehr darum, uns nicht zu wiederholen und unseren Code effizient, schön und klein zu machen.
Also schreibe ich gerne Tests, die wirklich beschreibend sind, wirklich offensichtlich.
Okay, hier drin, sagen wir Autodidakten behaupten gleich und hmm, was soll das sein?
Nun, in diesem Fall erwarte ich einen Wertfehler, also lassen Sie uns dies tun.
Ich erwarte, dass das Ergebnis ein Wert ist, den ich speichern und meinen Test ausführen werde.
In Ordnung, ich erhalte eine Fehlermeldung, die besagt, dass dies ein Typfehler im Argument ist, muss ein String sein.
Und ich gebe ihm einen Nicht-Typ.
In Ordnung, das wird also nicht richtig behandelt, weil es mit dem HNO einfach nicht funktioniert, wir erhalten
einen Typfehler.
Wie können wir das also beheben?
Huckabee passt es an, falls wir einen Nicht-Typ im Parameter erhalten.
Nun, zunächst einmal geben wir ihm einen Standardparameter, sagen wir, der Standardparameter ist Null, wenn ich dies
ausführe.
Wieder.
Ich bekomme immer noch die Luft.
OK, wir haben es immer noch nicht behoben.
Das Argument muss strikt sein.
Ein Kaufobjekt oder ein Nein-Nicht-Typ?
Okay, wir suchen immer noch nicht nach dem Nanny-Typ.
Wir können also auch sagen.
Wenn.
Nein.
Also prüfen wir, ob wir den Zahlenwert haben.
Denken Sie daran, dass dies standardmäßig auf true gesetzt wird, wenn es irgendeine Art von Zahlen oder, nun ja, einen beliebigen Wert hat, aber wenn
es ein Nicht-Typ ist, wird es in Kraft treten.
Also hier drin, wenn nein, können wir sagen, das hier zurückgeben.
Ansonsten kehren wir zurück.
Bitte.
Nummer eingeben.
Also sage ich dies und ändere dies jetzt, denn jetzt sollten wir erwarten, dass ich bitte Nummer in
meinen Test eintrage und ich sage gleich behaupten.
Dieses Ergebnis.
Wird sein, geben Sie bitte Nr.
Wenn ich jetzt bei meinem Test wäre, lass uns das klären.
Oh, es sieht so aus, als würde ich zwei Tests in null Sekunden durchführen lassen, aber wir haben drei Tests, und das liegt daran.
Sie sehen hier, dass ich meinen gleich benannt habe.
Denken Sie daran, wenn Sie das Ding gleich benennen, wird es nur einen von ihnen ausführen.
Stellen Sie also sicher, dass alle Testnamen eindeutig sind.
Also werde ich das laufen lassen.
Alles klar, habe drei Tests durchgeführt und alles funktioniert einwandfrei.
Sehr sehr cool.
Sie können hier also sehen, wie wir von einer sehr einfachen Funktion ausgegangen sind und
angefangen haben, diese Fehler abzufangen und zu erkennen, dass unsere Funktion zu einfach war, wenn wir eine falsche Eingabe erhielten.
Mögen.
Ein String oder ein Nicht-Typ?
Nun, sobald wir das taten, versagte unsere Funktion.
Durch die Verwendung von Tests und zum Testen und Brechen von Dingen konnte ich diese Funktion verbessern.
Es ist also haltbarer, sodass es jetzt in der Produktion viel besser funktioniert.
Rechts.
Und das ist die Macht der Tests.
Es ermöglicht uns, auf Fehler zu überprüfen, die wir möglicherweise gemacht haben, weil wir vielleicht anfangs nicht daran gedacht
hätten, so etwas zu tun.
Aber indem wir Tests neben unserem Code geschrieben haben, konnten wir die Funktion verbessern.
Nun möchte ich noch eine letzte Sache hinzufügen.
Lassen Sie uns einfach einen weiteren der Tests hinzufügen und sagen, dass dies Dinge tut, wofür, wenn der Testparameter nur eine
leere Zeichenfolge ist?
Wir sollten bitte eine Nummer eingeben, also wenn ich das hier laufen lasse.
In Ordnung, vier Tests werden bestanden, also sieht es so aus, als ob unser Code gut funktioniert.
Zum Abschluss möchte ich nur noch auf einige Dinge hinweisen.
Ich nenne hier einen Unit-Test auf Maine, aber das hat nichts mit dem eigentlichen zu tun.
Datei.
Das haben wir geschrieben, das ist die Hauptdatei. Wenn ich sie umbenenne, gehen wir zu meinem Desktop.
Und sagen Sie, ich möchte dies ändern.
Skript, DCPI.
Lassen Sie uns jetzt diesen, meinen Fall mit erhabenem Text öffnen.
Gehen wir hierher zurück.
Sie sehen hier also, dass PI wohl nicht mehr existiert.
Es fordert mich auf zu sparen.
Das ist also eine ganz andere Datei.
Nun, wenn ich hier ein Skript mache und einfach alle Instanzen in Skript ändere.
Wenn ich das speichere und jetzt starte.
Dieser Komponententest funktioniert immer noch, bedeutet einfach, hey, führe einfach alle Tests hier durch.
Nun, eine Sache, und dies ist eine gängige Praxis, über die wir bereits gesprochen haben, ist, dass
Sie diesen Herbst ausführen möchten, wenn dies die Hauptdatei ist, die ausgeführt wird, weil wir nicht wirklich Tessmann oder ähnliches importieren
möchten dies in andere Dateien.
Dies sind einzelne Dateien, die nur ausgeführt werden sollten, wenn wir unsere Tests ausführen.
Also kann ich nur sagen, wenn Unterstreiche Unterstreiche den Namen.
Gleich.
Unterstrich, Unterstrich, Hauptsache.
Führen Sie dann diesen Code aus.
Also wenn ich das jetzt speichere und ausführe.
Da gehst du.
Alles funktioniert noch, aber jetzt stelle ich sicher, dass dies eine Testdatei ist und ich werde diesen Code nur ausführen, wenn es
sich um die Datei handelt, die ausgeführt wird, wenn es sich um die Hauptdatei handelt.
Dies ist also eine Standardmethode, mit der Sie Ihren Test mit dem Unit-Test-Modul durchführen lassen.
Machen wir eine Pause und sprechen im nächsten Video ein bisschen mehr über Tests.