Heim > Artikel > Backend-Entwicklung > Kombination aus Fehlerbehandlung und Unit-Test von Golang-Funktionen
Die Fehlerbehandlung in GoLang verwendet den Fehlertyp zur Darstellung von Fehlern, die über fmt.Errorf() erstellt werden können. Unit-Tests verwenden die Testbibliothek, um die Korrektheit der Funktion zu überprüfen, indem Testfälle geschrieben und festgestellt werden, ob die zurückgegebenen Ergebnisse den Erwartungen entsprechen.
Abstimmung der GoLang-Funktionsfehlerbehandlung und Unit-Tests
Fehlerbehandlung
Der Fehlerbehandlungsmechanismus in GoLang ist sehr einfach und effektiv. Durch die Verwendung des Typs error
können wir Fehler bei der Funktionsausführung darstellen. Fehlermeldungen können über die Funktion fmt.Errorf()
erstellt werden. error
类型,我们可以表示函数执行中的错误。可以通过 fmt.Errorf()
函数创建错误信息。
package main import ( "fmt" ) func divide(a, b int) (int, error) { if b == 0 { return 0, fmt.Errorf("cannot divide by zero") } return a / b, nil } func main() { result, err := divide(10, 2) if err != nil { fmt.Println(err) } else { fmt.Println(result) } }
单元测试
单元测试对于验证函数的正确性至关重要。GoLang 提供了 testing
库,可以轻松编写和运行单元测试。
package main import ( "fmt" "testing" ) func TestDivide(t *testing.T) { type testCases struct { a int b int expected int expectedError error } cases := []testCases{ {10, 2, 5, nil}, {10, 0, 0, fmt.Errorf("cannot divide by zero")}, } for _, c := range cases { result, err := divide(c.a, c.b) if result != c.expected || err != c.expectedError { t.Errorf("Test failed for input (%d, %d) expected (%d, %s) but got (%d, %s)", c.a, c.b, c.expected, c.expectedError, result, err) } } }
在此示例中,我们创建了一个测试表,其中包含不同的测试用例。然后,我们对每个测试用例运行 divide
rrreee
Unit-Tests
🎜🎜Unit-Tests sind entscheidend, um die Korrektheit einer Funktion zu überprüfen. GoLang bietet die Bibliothektesting
zum einfachen Schreiben und Ausführen von Komponententests. 🎜rrreee🎜In diesem Beispiel haben wir eine Testtabelle erstellt, die verschiedene Testfälle enthält. Anschließend führen wir die Funktion divide
für jeden Testfall aus und stellen sicher, dass die zurückgegebenen Werte und Fehler mit den erwarteten Ergebnissen übereinstimmen. 🎜🎜Durch die Kombination von Fehlerbehandlung und Unit-Tests können wir sicherstellen, dass Funktionen unter verschiedenen Eingabesituationen wie erwartet funktionieren. 🎜Das obige ist der detaillierte Inhalt vonKombination aus Fehlerbehandlung und Unit-Test von Golang-Funktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!