Wenn Sie beginnen folgende Test Driven Development Praktiken, werden sie sortieren führen Sie durch den Prozess und zu wissen , was natürlich kommt zu testen. Einige Orte zum Starten:
Tests kommen zuerst
Schreiben Sie niemals Code, bevor Sie die Tests schreiben. Eine Erklärung finden Sie unter Rot-Grün-Refaktor-Wiederholung .
Schreiben Sie Regressionstests
Wenn Sie auf einen Fehler stoßen, schreiben Sie einen Testfall und vergewissern Sie sich, dass er fehlschlägt . Wenn Sie einen Fehler nicht durch einen fehlerhaften Testfall reproduzieren können, haben Sie ihn nicht wirklich gefunden.
Rot-Grün-Refaktor-Repeat
Rot : Schreiben Sie zunächst einen einfachen Test für das Verhalten, das Sie implementieren möchten. Stellen Sie sich diesen Schritt so vor, dass Sie einen Beispielcode schreiben, der die Klasse oder Funktion verwendet, an der Sie arbeiten. Stellen Sie sicher, dass es kompiliert / keine Syntaxfehler aufweist und dass es fehlschlägt . Dies sollte offensichtlich sein: Sie haben keinen Code geschrieben, also muss er fehlschlagen, oder? Das Wichtigste, was Sie hier lernen müssen, ist, dass Sie niemals sicher sein können, dass der Test, wenn er nicht bestanden wird, aufgrund einer falschen Begründung durchgeführt wird.
Grün : Schreiben Sie den einfachsten und dümmsten Code, der den Test tatsächlich besteht. Versuche nicht schlau zu sein. Selbst wenn Sie feststellen, dass es einen offensichtlichen Edge-Fall gibt, der Test dies jedoch berücksichtigt, schreiben Sie keinen Code, um damit umzugehen (aber vergessen Sie den Edge-Fall nicht: Sie werden ihn später benötigen). Die Idee ist, dass jeder Code, den Sie schreiben, jeder if
, jeder try: ... except: ...
durch einen Testfall gerechtfertigt sein sollte. Der Code muss nicht elegant, schnell oder optimiert sein. Sie möchten nur, dass der Test bestanden wird.
Refactor : Bereinigen Sie Ihren Code und geben Sie die richtigen Methodennamen ein. Überprüfen Sie, ob der Test noch besteht. Optimieren. Führen Sie den Test erneut aus.
Wiederholen : Sie erinnern sich an den Randfall, den der Test nicht behandelt hat, oder? Nun ist es also ein großer Moment. Schreiben Sie einen Testfall, der diese Situation abdeckt, beobachten Sie, wie er fehlschlägt, schreiben Sie Code, sehen Sie, wie er erfolgreich ist, und überarbeiten Sie ihn.
Testen Sie Ihren Code
Sie arbeiten an einem bestimmten Code, und genau das möchten Sie testen. Dies bedeutet, dass Sie keine Bibliotheksfunktionen, die Standardbibliothek oder Ihren Compiler testen sollten. Versuchen Sie auch zu vermeiden, die "Welt" zu testen. Dies beinhaltet: Aufrufen von externen Web-APIs, datenbankintensives Material usw. Wann immer Sie versuchen können, ein Modell zu erstellen (erstellen Sie ein Objekt, das der gleichen Schnittstelle folgt, jedoch statische, vordefinierte Daten zurückgibt).