Befehlszeilenargumente in Go-Tests analysieren
Bei Verwendung des Befehls „go test“ ist die Hauptfunktion Ihrer Anwendung nicht vorhanden aufgerufen, sodass sich Entwickler fragen, wie sie mit Befehlszeilenargumenten in Tests umgehen sollen.
Obwohl es möglich ist, das Flags-Paket zu verwenden und nach Argumenten zu suchen In jedem Test oder jeder Funktion ist dieser Ansatz umständlich und erfordert umfangreiche Wiederholungen.
In bestimmten Szenarien kann die Umgehung der Unit-Test-Reinheit und die Übergabe von Argumenten über die Befehlszeile eine akzeptable Lösung sein, da sie Vorteile wie die Vermeidung von Abhängigkeiten bietet auf Umgebungsvariablen und Bereitstellung funktionaler Flexibilität.
Eine Methode besteht darin, eine init()-Funktion innerhalb einer _test-Datei zu definieren. Wenn die Testsuite ausgeführt wird, wird diese Funktion aufgerufen und initialisiert Variablen basierend auf Befehlszeilenargumenten, wodurch das Verhalten der Hauptfunktion simuliert wird, wenn die Anwendung direkt ausgeführt wird.
Alternativ, wenn das Flags-Paket erforderlich ist Voraussetzung: Initialisierungscode kann in einer init()-Funktion innerhalb der testing.t-Struktur platziert werden. Dadurch kann das Parsen von Flags vor der Ausführung von Testfällen erfolgen.
Zum Beispiel:
func init() { flag.Parse() envSetting = flag.String("env", "", "Environment setting") }
Das obige ist der detaillierte Inhalt vonWie kann ich Befehlszeilenargumente in Go-Tests analysieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!