Testen von Go (Golang)-Anwendungen: Von Unit-Tests bis E2E
Testen von Go (Golang)-Anwendungen: Von Unit-Tests bis E2E
Zusammenfassung:
Das Buch "Testen von Go (Golang)-Anwendungen" ist ein praktischer Leitfaden, der Sie Schritt für Schritt vom Schreiben Ihrer ersten Unit-Tests bis zur Entwicklung einer umfassenden Teststrategie für Produktionsprojekte führt. Der Autor, ein erfahrener Go-Entwickler, teilt bewährte Ansätze und Best Practices, die Ihnen helfen, zuverlässige und wartbare Software zu erstellen.
Worum geht es in diesem Buch?
Das Buch behandelt alle wesentlichen Aspekte des Testens von Go-Anwendungen:
- Grundlagen des Testens: Teststruktur, Funktionen
t *testing.T, tabellarische Tests, Subtests und parallele Ausführung. - Unit-Testing: Testen einzelner Funktionen, Methoden und Pakete. Verwendung von Mocks (gomock, testify) und Stubs zur Isolation von Abhängigkeiten.
- Integrationstests: Testen der Interaktion mit Datenbanken, externen APIs und dem Dateisystem. Arbeiten mit testcontainers.
- Benchmarks und Profiling: Schreiben und Analysieren von Benchmarks, Auffinden von Engpässen mit pprof.
- End-to-End (E2E)-Tests: Testen von HTTP-Servern, gRPC-Diensten und CLI-Anwendungen.
- TDD (Test-Driven Development): Praxis der testgetriebenen Entwicklung anhand realer Beispiele.
- CI/CD und Automatisierung: Integration von Tests in Pipelines, parallele Ausführung, Arbeiten mit Codeabdeckung.
Für wen ist dieses Buch?
- Junior-Go-Entwickler, die das Testen von Grund auf erlernen möchten.
- Middle-Entwickler, die ihr Wissen systematisieren und fortgeschrittene Techniken erlernen möchten.
- Teamleiter und Architekten, die eine Testkultur in ihren Teams etablieren.
- Entwickler, die von anderen Sprachen zu Go wechseln und nach Go-spezifischen Testpraktiken suchen.
Was werden Sie lernen?
- Wie man lesbare, zuverlässige und wartbare Tests schreibt.
- Wie man das integrierte Paket
testingund beliebte Bibliotheken (testify, gomock, httptest) effektiv einsetzt. - Wie man HTTP-Handler, Datenbanken, gRPC-Dienste und asynchronen Code testet.
- Wie man die Leistung misst und Probleme mit Hilfe von Benchmarks findet.
- Wie man einen Entwicklungsprozess aufbaut, bei dem Tests keine Last, sondern ein Werkzeug zur Beschleunigung sind.
- Wie man Tests in GitHub Actions, GitLab CI und andere Systeme integriert.
Das Buch enthält zahlreiche reale Codebeispiele, die Sie sofort in Ihren eigenen Projekten anwenden können. Jedes Kapitel endet mit praktischen Aufgaben zur Festigung des Gelernten. Sie lernen nicht nur, Tests zu schreiben, sondern auch in der Testparadigma zu denken, was Ihren Code sauberer, sicherer und professioneller macht.
Nach der Lektüre dieses Buches werden Sie in der Lage sein, Architekturen zu entwerfen, die sich leicht testen lassen, und sind bereit für die Arbeit in Teams, in denen Codequalität Priorität hat.
Empfehlungen
Swift (iOS/macOS) und Docker: Containerisierung von Anwendungen
TypeScript-Vorstellungsgespräch: 200 Fragen und Antworten
Maschinelles Lernen und Go: Ein praktischer Leitfaden für Entwickler
Testen von C++-Anwendungen: Von Modultests bis zur Integrationsabdeckung
API-Entwicklung mit C# (.NET): Erstellung moderner Webdienste
Das Handbuch des Java EE-Architekten