Einstieg in das Programmieren mit Go, Teil 3: Unit-Tests

Go bringt die Voraussetzungen für Unit-Tests schon mit und macht das Testen einfacher als viele andere Sprachen. Damit wird guter Go-Code zu sehr gutem.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht 5 Kommentare lesen
Einstieg in das Programmieren mit Go, Teil 3

(Bild: Thorsten Hübner)

Lesezeit: 11 Min.
Von
  • Jan Mahn
Inhaltsverzeichnis

Unit-Tests sparen Zeit. Zugegeben, nicht direkt in der Anfangsphase eines Programmierprojekts, sondern erst, wenn die Software auch genutzt wird oder die Entwicklung vorangeschritten ist. Getestete Software enthält meist weniger leicht vermeidbare Fehler, und Tests verhindern vor allem, dass man denselben Fehler später wiederholt. Solche Unit-Tests enthalten Erwartungen, welchen Wert eine Funktion mit bekannten Eingabeparametern zurückgeben wird – die Testumgebung prüft diese systematisch und beschwert sich, wenn eine Funktion anders reagiert als im Test erwartet. Solche Tests kann der Entwickler direkt nach dem Verfassen der Funktion schreiben, er sollte die Liste der Tests aber vor allem immer dann ergänzen, wenn er gerade einen Fehler beseitigt hat.

In den meisten Programmiersprachen muss man sich als Entwickler eine Denkweise angewöhnen, um solche Unit-Tests zu verfassen. Die Testumgebungen kamen häufig erst später zur Sprache hinzu oder werden von einem externen Test-Framework erzeugt, das erst Jahre nach der Sprache erdacht wurde. Go als relativ junge Programmiersprache entstand dagegen zu einer Zeit, in der Unit-Tests schon gängige Praxis waren – daher konnten sich die Go-Erfinder von Anfang an Gedanken machen, wie sie Tests in die Go-Bordmittel integrieren können und wie Entwickler ohne zusätzliche Pakete und Hilfsmittel auskommen.

Dieser Artikel ist Teil 3 unserer Reihe für Go-Einsteiger. Im ersten Teil ging es um die Einrichtung einer Umgebung, in der Sie effizient in Go entwickeln. In Teil 2 wurde aus dem kleinen Beispiel ein funktionierender Newsfeed-Reader mit einer ausgefeilteren Kommandozeilensyntax, Fehlerbehandlung und objektorientiertem Code. Zum Nachvollziehen dieses dritten Teils ist es empfehlenswert, die ersten beiden Teile gelesen zu haben. Den gesamten Code des Beispielprogramms finden Sie bei GitHub. Wechseln Sie für diesen Artikel im GitHub-Repository auf den Branch "part-3".