Das Schreiben von Unit-Tests in Go trägt dazu bei, die Qualität und Zuverlässigkeit des Codes sicherzustellen. Unit-Tests umfassen Schritte wie das Importieren von Abhängigkeiten, das Einrichten von Objekten, das Definieren von Ein- und Ausgaben, das Aufrufen von Funktionen und das Durchsetzen von Ausgaben. Mithilfe der Assertion-Funktion im Testpaket können Sie die tatsächliche Ausgabe mit der erwarteten Ausgabe vergleichen. Verwenden Sie den Befehl go test, um Tests auszuführen und sicherzustellen, dass alle Tests erfolgreich sind, um die Genauigkeit Ihres Go-Codes sicherzustellen.
Das Schreiben von Unit-Tests in Go ist entscheidend für die Sicherstellung der Codequalität und -zuverlässigkeit. Mit Unit-Tests können Sie das Verhalten einer einzelnen Funktion oder Methode isolieren und testen, um sicherzustellen, dass sie sich wie erwartet verhält.
Ein typischer Unit-Test enthält die folgenden Teile:
Lassen Sie uns eine einfache Sum
-Funktion erstellen und einen Komponententest dafür schreiben: Sum
函数并为其编写一个单元测试:
package main import ( "testing" ) // Sum 返回两个数字之和 func Sum(a, b int) int { return a + b } func TestSum(t *testing.T) { // 设置测试表 tests := []struct { a, b int want int }{ {1, 2, 3}, {-1, 5, 4}, {0, -5, -5}, } // 遍历测试表,对每个测试用例运行测试 for _, tt := range tests { got := Sum(tt.a, tt.b) if got != tt.want { t.Errorf("Sum(%d, %d) = %d, want %d", tt.a, tt.b, got, tt.want) } } }
Go 提供了[testing
](https://golang.org/pkg/testing/) 包,其中包含各种断言函数,可用于比较实际输出和预期输出。一些常用的断言函数包括:
t.Fatal()
: 如果断言失败,则终止测试。t.Error()
: 报告一个失败,允许测试继续。t.Errorf()
: 报告一个带有格式化错误消息的失败。t.Equal()
: 比较两个值是否相等。t.NotEqual()
: 比较两个值是否不相等。使用 go test
go test
Testing
] (https: //golang.org/pkg/testing/)-Paket, das verschiedene Assertionsfunktionen enthält, die zum Vergleich der tatsächlichen Ausgabe mit der erwarteten Ausgabe verwendet werden können. Zu den häufig verwendeten Behauptungsfunktionen gehören: 🎜t.Fatal()
: Beendet den Test, wenn die Behauptung fehlschlägt. 🎜🎜t.Error()
: Melden Sie einen Fehler, sodass der Test fortgesetzt werden kann. 🎜🎜t.Errorf()
: Melden Sie einen Fehler mit einer formatierten Fehlermeldung. 🎜🎜t.Equal()
: Vergleicht, ob zwei Werte gleich sind. 🎜🎜t.NotEqual()
: Vergleicht, ob zwei Werte ungleich sind. 🎜🎜🎜Führen Sie die Tests aus🎜🎜Führen Sie die Komponententests mit dem Befehl go test
aus: 🎜PASS ok main [no tests found]
Das obige ist der detaillierte Inhalt vonSo schreiben Sie umfassende Unit-Tests für Go-Funktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!