Heim >Backend-Entwicklung >Golang >Wie kann ich die Testausführung in Go mithilfe von „go test' anpassen?

Wie kann ich die Testausführung in Go mithilfe von „go test' anpassen?

DDD
DDDOriginal
2024-12-26 10:43:10585Durchsuche

How Can I Customize Test Execution in Go Using `go test`?

Anpassen der Testausführung in Go mit „go test“

Beim Testen komplexer Codebasen ist es oft wünschenswert, bestimmte Tests während der Ausführung mit dem „go test“ gezielt zu überspringen oder auszuschließen " Befehl. Dies ermöglicht es Entwicklern, sich auf bestimmte Funktionsbereiche zu konzentrieren oder Fehler bei neuen Funktionen zu beheben, ohne bestehende Tests zu beeinträchtigen.

Ausschluss von Tests mit SkipNow() und Skip()

Go bietet zwei Methoden innerhalb des „Testens“. Paket zum Überspringen von Tests: SkipNow() und Skip().

SkipNow() überspringt den aktuellen Test sofort, unabhängig davon davon, ob die Ausführung begonnen hat oder nicht.

Skip() fügt der Testausgabe einen Kommentar hinzu, der angibt, dass der Test übersprungen wurde, lässt aber zu, dass andere Tests im selben Paket oder derselben Datei ausgeführt werden weiter ausführen.

Um diese Methoden zu verwenden, fügen Sie einfach den entsprechenden Funktionsaufruf am Anfang der Testfunktion hinzu. Zum Beispiel:

func skipCI(t *testing.T) {
  if os.Getenv("CI") != "" {
    t.SkipNow("Skipping testing in CI environment")
  }
}

func TestNewFeature(t *testing.T) {
  skipCI(t)
}

Um Tests basierend auf einer Umgebungsvariablen bedingt zu überspringen, verwenden Sie SkipNow() und legen Sie die Variable fest, bevor Sie die Tests ausführen.

Tests im Kurzmodus ausschließen

Eine weitere Möglichkeit, Tests auszuschließen, ist die Verwendung des „kurzen“ Modus. Dieser Modus weist „go test“ an, nur Tests auszuführen, die in ihren Annotationen mit dem Flag -test.short gekennzeichnet sind.

Um einer Testfunktion ein Flag -test.short hinzuzufügen, ändern Sie die Testanmerkung wie folgt :

// +test.short
func TestNewFeature(t *testing.T) { ... }

Um Tests im Kurzmodus auszuführen, führen Sie „go test“ mit -short aus flag:

go test -short

Hinweis: Dieser Ansatz schließt Tests basierend auf ihren Anmerkungen und nicht dynamisch basierend auf Laufzeitbedingungen aus.

Das obige ist der detaillierte Inhalt vonWie kann ich die Testausführung in Go mithilfe von „go test' anpassen?. 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