Go-Funktionstest-Leitfaden: Unit-Tests werden verwendet, um das Funktionsverhalten isoliert zu testen. testify/assert bietet nützliche Assertionstools und muss unter github.com/stretchr/testify/assert importiert werden. Verwenden Sie „assert.Equal(t, erwarteter Wert, Funktionsaufruf)“, um zu behaupten. Führen Sie den Test mit dem Befehl go test aus.
Unit-Tests sind beim Schreiben von Go-Programmen von entscheidender Bedeutung, damit wir überprüfen können, ob Funktionen wie erwartet ausgeführt werden. Dieser Artikel enthält eine Schritt-für-Schritt-Anleitung zum Testen von Go-Funktionen sowie praktische Beispiele.
Unit-Testing ist das Testen des Verhaltens einer Funktion in einer isolierten Umgebung, ohne Rücksicht auf anderen Code.
testify/assert ist ein beliebtes Go-Testpaket mit einer Reihe nützlicher Assertionstools. Um es zu installieren, führen Sie Folgendes aus:
go get github.com/stretchr/testify/assert
Um Assert zu verwenden, müssen Sie es zunächst in Ihre Unit-Test-Datei importieren:
import "github.com/stretchr/testify/assert"
Jetzt können Sie Ihre Testfälle wie folgt schreiben:
func TestAdd(t *testing.T) { // 断言 a+b 等于 c assert.Equal(t, 3, Add(1, 2)) }
Um die Einheit auszuführen Verwenden Sie zum Testen den Befehl go test
in der Befehlszeile: go test
命令:
go test
考虑以下用于计算两个数字之和的简单函数:
func Add(a, b int) int { return a + b }
为了测试此函数,我们可以使用以下测试用例:
func TestAdd(t *testing.T) { testCases := []struct { a, b, expected int }{ {1, 2, 3}, {5, 10, 15}, {-1, -2, -3}, } for _, tc := range testCases { actual := Add(tc.a, tc.b) assert.Equal(t, tc.expected, actual) } }
在测试用例中,我们将多个测试集合到 testCases
片段中。每个测试用例指定了输入值 a
和 b
,以及预期的结果 expected
。
循环遍历每个测试用例,调用 Add
rrreee
testCases
-Fragment zusammen. Jeder Testfall gibt die Eingabewerte a
und b
sowie das erwartete Ergebnis expected
an. 🎜🎜Durchlaufen Sie jeden Testfall, rufen Sie die Funktion Add
auf und stellen Sie mit „assertion“ sicher, dass das Ergebnis mit dem erwarteten Wert übereinstimmt. Wenn eine Behauptung fehlschlägt, schlägt der Test fehl. 🎜Das obige ist der detaillierte Inhalt vonWie teste ich Golang-Funktionen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!