Heim >Backend-Entwicklung >Golang >Kombination aus Fehlerbehandlung und Unit-Test von Golang-Funktionen

Kombination aus Fehlerbehandlung und Unit-Test von Golang-Funktionen

王林
王林Original
2024-04-24 17:36:02882Durchsuche

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.

Kombination aus Fehlerbehandlung und Unit-Test von Golang-Funktionen

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)
        }
    }
}

在此示例中,我们创建了一个测试表,其中包含不同的测试用例。然后,我们对每个测试用例运行 dividerrreee

Unit-Tests

🎜🎜Unit-Tests sind entscheidend, um die Korrektheit einer Funktion zu überprüfen. GoLang bietet die Bibliothek testing 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn