go / beginner
Snippet
Grundlegende Tests in Go schreiben
Go bietet integrierte Testunterstützung durch das testing-Paket. Testdateien werden mit der Endung _test.go benannt. Testfunktionen beginnen mit dem Präfix Test und erhalten ein *testing.T-Argument. Die Methode t.Errorf() markiert einen Test als fehlgeschlagen, ermöglicht aber die weitere Ausführung. Verwende t.Run() für Untertests, um verwandte Testfälle sauber zu organisieren.
snippet.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package mainimport "testing"func Add(a, b int) int {return a + b}func TestAdd(t *testing.T) {result := Add(2, 3)expected := 5if result != expected {t.Errorf("Add(2, 3) = %d, expected %d", result, expected)}}func TestAddNegative(t *testing.T) {result := Add(-5, 3)expected := -2if result != expected {t.Errorf("Add(-5, 3) = %d, expected %d", result, expected)}}
Erklärung
1
func TestAdd(t *testing.T)
Testfunktion erhält testing.T Parameter - t Parameter steuert die Testausführung
2
t.Errorf("...", result, expected)
Errorf protokolliert Fehlermeldung, ohne die Testausführung zu stoppen
3
t.Run("subtest name", func(t *testing.T) { })
Untertests mit t.Run() gruppieren verwandte Testfälle mit beschreibenden Namen
4
testing.T
Der Typ testing.T stellt Methoden zum Protokollieren und Steuern des Testflusses bereit