Heim > Artikel > Backend-Entwicklung > Unit-Test für unterwegs
Go bietet ein Testpaket, das viele Tools für Unit-Testzwecke enthält.
Vorbereitung
Üben wir einfach: Bereiten Sie zunächst eine Cube-Struktur vor. Die resultierende Objektvariable der Struktur wird später als Testmaterial verwendet.
package main import "math" type Cube struct { Sisi float64 } func (k Cube) Volume() float64 { return math.Pow(k.Sisi, 3) } func (k Cube) Area() float64 { return math.Pow(k.Sisi, 2) * 6 } func (k Cube) circumference() float64 { return k.Sisi * 12 }
Speichern Sie den obigen Code in der Datei training1.go
package main import "testing" var ( cube Cube = Cube{4} volume Should float64 = 64 area Should float64 = 96 circumference Should float64 = 48 ) func TestCalculateVolume(t *testing.T) { t.Logf("Volume : %.2f", cube.Volume()) if cube.Volume() != volumeShould { t.Errorf("WRONG! should be %.2f", volumeShould) } } func TestCalculateSurface(t *testing.T) { t.Logf("Area : %.2f", cube.Area()) if cube.Area() != areaShould { t.Errorf("WRONG! should be %.2f", areaShould) } } func TestCalculatePerimeter(t *testing.T) { t.Logf("Perimeter : %.2f", cube.Perimeter()) if cube.Perimeter() != circumferenceShould { t.Errorf("WRONG! should be %.2f", circumferenceShould) } }
Die Methode t.Logf() wird verwendet, um ein Protokoll anzuzeigen. Diese Methode entspricht fmt.Printf() .
Die Methode Errorf() wird verwendet, um ein Protokoll anzuzeigen, gefolgt von einer Aussage, dass beim Testen ein Fehler aufgetreten ist.
Der Test kann mit dem Befehl go test ausgeführt werden. Da sich die zu testende Struktur in der Datei bab55.go befindet, müssen beim Ausführen des Tests mit go test die Dateinamen bab55_test.go und bab55.go als Argumente geschrieben werden. Das Argument -v oder ausführlich wird verwendet, um während des Tests alle Protokollausgaben anzuzeigen.
Führen Sie die Anwendung wie im Bild unten gezeigt aus. Es ist ersichtlich, dass kein Test fehlgeschlagen ist. OK, dann versuchen Sie, die Berechnungsformel für die Keliling()-Methode zu ändern. Der Zweck dieser Änderung besteht darin, herauszufinden, wie die Fehlermarkierung angezeigt wird, wenn ein Test fehlschlägt.
func (k Cube) Perimeter() float64 { return k.Side * 15 }
Danach führen Sie den Test erneut durch.
Das obige ist der detaillierte Inhalt vonUnit-Test für unterwegs. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!