Heim > Backend-Entwicklung > Golang > Wie teste ich benutzerdefinierte Befehlszeilenflags in Go-Unit-Tests richtig?

Wie teste ich benutzerdefinierte Befehlszeilenflags in Go-Unit-Tests richtig?

DDD
Freigeben: 2024-11-28 18:48:15
Original
271 Leute haben es durchsucht

How to Properly Test Custom Command-Line Flags in Go Unit Tests?

Testen benutzerdefinierter Befehlszeilenflags in Go-Unit-Tests

In einer modularen Go-Anwendung mit Unit-Tests das Festlegen benutzerdefinierter Befehlszeilenflags für Spezifische Tests können sich als Herausforderung erweisen. Die Verwendung des Flag-Pakets zum Setzen von Flags bei der Testinitialisierung kann zu Fehlern beim Ausführen der Tests führen.

Problem

Beim Ausführen des Testbefehls:

go test -test.v ./... -gamedir.custom=c:/resources
Nach dem Login kopieren

Der folgende Fehler kann auftreten:

flag provided but not defined: -gamedir.custom
Nach dem Login kopieren

Dieser Fehler weist darauf hin, dass das Flag -gamedir.custom von nicht erkannt wird test ausführbare Datei.

Analyse

Das Problem tritt auf, weil der Befehl go test alle Tests in einem Arbeitsbereich ausführt und die bereitgestellten Flags auf alle anwendet. Wenn jedoch ein bestimmter Test das Flag -gamedir.custom nicht verwendet, schlägt die Testausführung mit dem Fehler „Undefiniert“ fehl.

Lösung

Um dieses Problem zu beheben können Sie go test für jede ausführbare Testdatei separat ausführen und dabei die entsprechenden Flags für jeden Test angeben. Dies kann erreicht werden, indem der Befehl so geändert wird, dass die ausführbare Testdatei direkt übergeben wird:

go test -test.v ./path/to/test.go -gamedir.custom=c:/resources
Nach dem Login kopieren

Dieser Ansatz stellt sicher, dass nur die angegebene ausführbare Testdatei das Flag -gamedir.custom erhält, wodurch der Fehler mit dem undefinierten Flag behoben wird.

Das obige ist der detaillierte Inhalt vonWie teste ich benutzerdefinierte Befehlszeilenflags in Go-Unit-Tests richtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage