Heim >Backend-Entwicklung >Golang >Wie teste ich die Go-Sprache?

Wie teste ich die Go-Sprache?

王林
王林Original
2023-06-11 10:50:29945Durchsuche

Go-Sprache ist eine ausgezeichnete Programmiersprache, die für ihre Effizienz, Einfachheit und leistungsstarke Standardbibliothek bekannt ist. Wenn wir Anwendungen mit Go entwickeln, ist das Schreiben und Ausführen von Testcode ein wesentlicher Bestandteil davon. In diesem Artikel wird erläutert, wie Sie die Go-Sprache zum Testen verwenden, um sicherzustellen, dass unser Code wie erwartet funktioniert.

  1. Testcode schreiben

In der Go-Sprache entspricht Testcode gewöhnlichem Code. Daher können wir Testcodes schreiben und ausführen, um sicherzustellen, dass unsere Anwendung ordnungsgemäß ausgeführt wird. Normalerweise sollte Testcode zur einfacheren Verwaltung und Wartung in einem separaten Verzeichnis abgelegt werden.

Hier ist ein einfaches Beispiel:

package main

import "testing"

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

func add(a, b int) int {
    return a + b
}

Im obigen Beispiel haben wir eine Testfunktion namens „TestAdd“ geschrieben, die die Funktionalität der von uns selbst geschriebenen Funktion add() testet. Testfunktionen beginnen normalerweise mit „Test“ und erfordern einen *testing.T-Parameter namens „t“, der zur Meldung von Testergebnissen verwendet wird.

In der Testfunktion rufen wir zunächst die Funktion add() auf und speichern ihr Ergebnis in der Ergebnisvariablen. Als nächstes speichern wir das erwartete Ergebnis in der erwarteten Variablen und verwenden eine if-Anweisung, um das Ergebnis mit dem erwarteten Ergebnis zu vergleichen. Wenn das Ergebnis nicht wie erwartet ausfällt, melden wir mit der Funktion t.Errorf() einen Fehler.

  1. Tests ausführen

Sobald wir den Testcode geschrieben haben, müssen wir ihn ausführen, um sicherzustellen, dass unser Code ordnungsgemäß funktioniert. In der Go-Sprache kann Testcode einfach mit dem Befehl go test ausgeführt werden.

Wechseln Sie in das Verzeichnis, in dem der Testcode im Terminal gespeichert ist, und geben Sie den folgenden Befehl ein:

go test

Dieser Befehl erkennt den Testcode automatisch im Verzeichnis und führt ihn aus. Wenn alle Tests bestanden wurden, wird die folgende Meldung gedruckt:

ok      <package_name>    0.500s

Andernfalls wird gedruckt, welche Tests fehlgeschlagen sind, und eine entsprechende Fehlermeldung zurückgegeben.

  1. Benchmarking-Code schreiben

Zusätzlich zum Unit-Test müssen wir auch Benchmarking durchführen, um festzustellen, wie unser Code bei unterschiedlichen Eingabemengen funktioniert. In der Go-Sprache können wir die Benchmark-Funktion im Testpaket verwenden, um Benchmark-Testcode zu schreiben.

Das Folgende ist ein Beispiel:

package main

import "testing"

func BenchmarkAdd(b *testing.B) {
    for i := 0; i < b.N; i++ {
        add(2, 3)
    }
}

func add(a, b int) int {
    return a + b
}

Im obigen Beispiel haben wir eine Benchmark-Funktion namens „BenchmarkAdd“ geschrieben, die die Leistung der add()-Funktion testet, die wir selbst geschrieben haben. Benchmark-Funktionen beginnen normalerweise mit „Benchmark“ und erfordern einen *testing.B-Parameter mit dem Namen „b“.

In der Benchmark-Funktion verwenden wir eine for-Schleife, um die Funktion add() b.N-mal auszuführen, wobei b.N eine Ganzzahl ist, die angibt, wie oft die Funktion ausgeführt werden soll.

  1. Benchmarks ausführen

Ähnlich wie bei der Ausführung von Unit-Tests können wir Benchmarks ganz einfach mit dem Befehl go test ausführen. Wechseln Sie im Terminal in das Verzeichnis, in dem der Benchmark-Code gespeichert ist, und geben Sie den folgenden Befehl ein:

go test -bench=.

Dieser Befehl erkennt den Benchmark-Code automatisch im Verzeichnis und führt ihn aus. Wenn alle Tests erfolgreich sind, wird die folgende Meldung ausgegeben:

BenchmarkAdd-4       10000        174060 ns/op

Wobei sich „BenchmarkAdd-4“ auf den Namen der Benchmark-Funktion und die Anzahl der GOMAXPROCS bezieht, „10000“ auf die Häufigkeit, mit der die Funktion add() ausgeführt wird ausgeführt wird, bezieht sich „174060 ns/op“ auf die durchschnittliche Zeit, die jedes Mal verbraucht wird, wenn die Funktion add() ausgeführt wird.

Fazit

In diesem Artikel haben wir vorgestellt, wie man die Go-Sprache zum Testen verwendet. Wir haben zunächst gelernt, wie man Unit-Test-Code schreibt, um sicherzustellen, dass unser Code korrekt funktioniert. Als Nächstes haben wir gelernt, wie man Benchmark-Code schreibt, um zu bestimmen, wie unser Code bei unterschiedlichen Eingabemengen funktioniert.

Insgesamt ist das Testen ein wesentlicher Bestandteil der Go-Programmierung. Durch gute Tests können wir unseren Code sicherer verbessern und ändern, was zu zuverlässigeren Anwendungen führt.

Das obige ist der detaillierte Inhalt vonWie teste ich die Go-Sprache?. 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