Selektives Testen: Pakete in Go überspringen
Beim Ausführen von Testsuiten kann es vorkommen, dass Sie bestimmte Pakete oder Verzeichnisse ausschließen möchten Testen. In Go ist es möglich, die zu testenden Pakete direkt über die Befehlszeile anzugeben.
Angenommen, Sie haben eine Projektstruktur wie diese:
mypackage mypackage/net mypackage/other mypackage/scripts
Um nur das mypackage zu testen , mypackage/other und mypackage/net-Pakete unter Ausschluss von mypackage/scripts können Sie Folgendes verwenden Befehl:
go test import/path/to/mypackage import/path/to/mypackage/other import/path/to/mypackage/net
Alternativ können Sie, wenn Ihre bevorzugte Shell-Syntax dies zulässt, die folgende Abkürzung verwenden:
go test import/path/to/mypackage{,/other,/net}
Ein anderer Ansatz besteht darin, go list zu verwenden, das eine Liste von Paketen zurückgibt Übereinstimmung mit einem vorgegebenen Muster. Sie können diese Ausgabe an einen Befehl wie grep weiterleiten und die Pakete herausfiltern, die Sie nicht testen möchten, etwa so:
go test `go list ./... | grep -v directoriesToSkip`
In Fällen, in denen der Grund für das Überspringen von Tests darin besteht, die Laufzeit zu optimieren, wird der Test durchgeführt Funktionen selbst können testen.Short() überprüfen und mit t.Skip() entscheiden, ob übersprungen werden soll. Dies ermöglicht selektive Tests beim Aufruf von go test -short.
Das obige ist der detaillierte Inhalt vonWie kann ich Go-Tests selektiv ausführen und bestimmte Pakete oder Verzeichnisse ausschließen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!