Heim >Backend-Entwicklung >Golang >Wie verwende ich das Testframework in Go?

Wie verwende ich das Testframework in Go?

PHPz
PHPzOriginal
2023-05-11 15:16:421638Durchsuche

Die Go-Sprache ist eine stark typisierte Sprache und ihre Entwickler legen Wert auf Lesbarkeit und Wartbarkeit des Codes. In Go können Entwickler das integrierte Test-Framework für Unit-Tests, Integrationstests und Funktionstests verwenden.

In diesem Artikel wird die Verwendung des Test-Frameworks in Go vorgestellt, einschließlich der Grundlagen des Test-Frameworks, des Schreibens von Testfällen, des Ausführens von Tests und der Analyse der Testabdeckung.

1. Grundkenntnisse des Testframeworks

Ein Testframework ist eine Sammlung von Tools zum Testen von Code. In Go ist das Testpaket die Standardbibliothek für das Go-Testframework. Diese Bibliothek stellt alle notwendigen Tools zum Schreiben und Ausführen von Testfällen bereit. Die Hauptfunktionen im

testing-Paket sind wie folgt:

  • func TestXxx(t testing.T): Testfunktion, wobei Xxx eine beliebige Zeichenfolge sein kann. Diese Funktion wird zum Schreiben von Testfällen verwendet und erhält einen Parameter t vom Typ testing.T zum Melden von Testergebnissen.
  • func (c *T) Log(args ...interface{}): Protokollinformationen drucken. Wenn ein Test fehlschlägt, werden die Protokollinformationen zu wichtigen Informationen, die zum Fehlschlagen des Tests geführt haben.
  • func (c *T) Error(args ...interface{}): Der Test schlägt fehl und Fehlerprotokollinformationen werden aufgezeichnet.
  • func (c *T) Fail(): Markiert die Testfunktion als fehlgeschlagen, zeichnet jedoch keine Protokollinformationen auf.
  • func (c *T) FailNow(): Markiert die Testfunktion als fehlgeschlagen und stoppt die Ausführung sofort.

2. Testfälle schreiben

Das Schreiben von Testfällen ist die Kernaufgabe des Testframeworks. In Go enden Testdateien normalerweise mit _test.go. Angenommen, wir möchten den folgenden Code testen:

package main

func Add(x int, y int) int {
    return x + y
}

func main() {
    println("Hello, world!")
}

Wir können einen Testfall in die Datei _test.go schreiben:

package main

import (
    "testing"
)

func TestAdd(t *testing.T) {
    result := Add(1, 2)
    if result != 3 {
        t.Errorf("Add(1, 2) = %d; want 3", result)
    }
}

Wir haben einen Testfall über die TestAdd-Funktion geschrieben. In dieser Funktion rufen wir die Add-Funktion auf und vergleichen das Ergebnis mit dem erwarteten Ergebnis. Wenn die beiden nicht gleich sind, verwenden Sie die Funktion t.Errorf, um eine Fehlermeldung auszugeben und den Test als fehlgeschlagen zu markieren.

3. Führen Sie den Test aus

Nachdem der Testfall geschrieben wurde, müssen wir den Test ausführen, um zu überprüfen, ob der Code ordnungsgemäß funktioniert. Es gibt zwei Möglichkeiten, Tests auszuführen: Befehlszeile und IDE.

  1. Befehlszeile

In der Befehlszeile können wir den Befehl go test verwenden, um Testfälle auszuführen. Geben Sie in der Befehlszeile den folgenden Befehl ein:

$ go test

Durch Ausführen dieses Befehls wird im aktuellen Verzeichnis nach allen Dateien gesucht, die mit _test.go enden, und die darin enthaltenen Testfunktionen werden ausgeführt. Wenn alle Testfälle erfolgreich sind, gibt der Befehl „ok“ aus. Wenn im Testfall ein fehlgeschlagener Testfall vorliegt, gibt dieser Befehl Fehlerinformationen aus und gibt einen Wert ungleich Null zurück, um darüber zu informieren, dass der Test nicht erfolgreich war.

  1. IDE

Wir können Testfälle auch in der Integrierten Entwicklungsumgebung (IDE) ausführen. Sie können beispielsweise die Go-Erweiterung in Visual Studio Code verwenden, um Tests auszuführen. Wenn Sie in VS Code die Taste F5 drücken, wird der Testfall dort ausgeführt, wo sich der aktuelle Cursor befindet.

4. Testabdeckungsanalyse

Die Testabdeckungsanalyse ist ein wichtiger Teil des Testrahmens. In Go können Sie die Testabdeckung mithilfe des Flags -cover des Befehls go test anzeigen. Beispiel:

$ go test -cover

Dieser Befehl gibt Informationen zur Testabdeckung aus, einschließlich Codeabdeckung, Anweisungsabdeckung, Funktionsabdeckung usw.

5. Fazit

Testen ist der Schlüssel zum Schreiben von qualitativ hochwertigem Code. In Go bietet das integrierte Test-Framework verschiedene Tools und Funktionen, die Entwicklern beim Schreiben, Ausführen und Analysieren von Testfällen helfen. Durch die Verwendung eines Testframeworks wird sichergestellt, dass Ihr Code ordnungsgemäß funktioniert, und Fehler und Schwachstellen werden reduziert.

Das obige ist der detaillierte Inhalt vonWie verwende ich das Testframework in Go?. 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