- TEST-Testfall
package main import ( "fmt" "testing" ) func TestSum(t *testing.T) { var a = 3 var b =4 res :=sum(a,b) fmt.Printf("%d 与%d之和:为%d",a,b,res) if res != 7{ t.Error("error") } }E
- Jede Testdatei muss unter jedem Testfall einen Testfall IMPORTIEREN. Sie muss mit Test beginnen und dem TestXxx-Format entsprechen. Andernfalls wählt go test den Test direkt aus und führt ihn nicht aus
- go test sucht automatisch nach der Testdatei in diesem Verzeichnis, go test -v zeigt den Ausführungsprozess im Detail an
- Der Eingabeparameter des Testfall ist t
testing.T oder b
testing.B - t.Error dient zum Drucken der Fehlermeldung und der aktuelle Testfall wird übersprungen
t.SkipNow() dient zum Überspringen des Tests. und drücken Sie direkt PASS, um den nächsten Test zu verarbeiten. Er muss in die erste Zeile des Testfalls geschrieben werden, andernfalls ist er ungültig.
- gos Test garantiert nicht, dass mehrere TestXxx nacheinander ausgeführt werden, dies ist jedoch normalerweise der Fall Um die sequentielle Ausführung zu ermöglichen, können Sie t.Run(name string, f func) verwenden, um die sequentielle Ausführung
- TestMain(m *testing.M) als Initialisierungstest sicherzustellen, und m.Run() verwenden um andere Tests zum Abschließen aufzurufen. Einige Tests, die Initialisierungsvorgänge erfordern, wie Datenbankverbindung, Dateiöffnung, REST-Dienstanmeldung, wenn m.Run() nicht in testMain aufgerufen wird, werden andere Testfälle außer TestMain nicht ausgeführt.
Mehr Golang-bezogenes Wissen finden Sie in der
GolangTutorial-Kolumne!