Heim > Backend-Entwicklung > Golang > Wie kann ich in Go-Tests auf Befehlszeilenargumente zugreifen?

Wie kann ich in Go-Tests auf Befehlszeilenargumente zugreifen?

DDD
Freigeben: 2024-12-06 22:24:13
Original
163 Leute haben es durchsucht

How Can I Access Command Line Arguments in Go Tests?

Befehlszeilenargumente in Go-Tests abrufen

Beim Ausführen von Tests mit go test wird die Hauptfunktion nicht ausgeführt. Dies wirft die Frage auf, wie in Testfällen auf Befehlszeilenargumente zugegriffen werden kann.

Ein gängiger Ansatz besteht darin, das Flags-Paket zu verwenden und in jedem Test oder jeder Funktion manuell nach Argumenten zu suchen. Allerdings kann diese Methode mit zunehmender Anzahl der Tests mühsam und fehleranfällig werden.

Stattdessen ist es möglich, Umgebungsvariablen oder Initialisierungsfunktionen zu verwenden, um in Tests auf Befehlszeilenargumente zuzugreifen.

Umgebungsvariablen

Umgebungsvariablen bieten eine bequeme Möglichkeit, Konfigurationsdaten an Testumgebungen zu übergeben. Um in einem Test auf eine Umgebungsvariable zuzugreifen, verwenden Sie einfach die Funktion os.Getenv:

envSetting := os.Getenv("TEST_ENV")
Nach dem Login kopieren

Initialisierungsfunktionen

Alternativ können Sie eine festzulegende Initialisierungsfunktion definieren globale Variablen basierend auf Befehlszeilenargumenten. Die Funktion init() wird vor allen Testfällen ausgeführt und eignet sich daher ideal für Initialisierungszwecke:

func init() {
    flags.Parse()
    myEnv = *envFlag
}
Nach dem Login kopieren

Durch die Verwendung dieser Techniken können Sie in Go-Tests effektiv auf Befehlszeilenargumente zugreifen und die Trennung zwischen Test und Main aufrechterhalten Funktionalität.

Das obige ist der detaillierte Inhalt vonWie kann ich in Go-Tests auf Befehlszeilenargumente zugreifen?. 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