c't 16/2020
S. 154
Praxis
Programmieren mit Go: Unit-Tests
Bild: Thorsten Hübner

Go Deeper

Einstieg in das Programmieren mit Go, Teil 3

Damit aus gutem Go-Code sehr guter wird, sollte man Unit-Tests schreiben und regelmäßig ausführen. Go bringt die Voraussetzungen dafür schon mit und macht das Testen einfacher als viele andere Sprachen.

Von Jan Mahn

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.

Kommentare lesen (1 Beitrag)