Das Teilen von Einrichtungs- und Abbaumethoden über Pakete hinweg ist ein häufiges Problem beim Testen von Go. PHP-Editor Yuzai wird diese Frage für Sie beantworten. In der Go-Sprache können Sie das Paket „flag“ verwenden, um Befehlszeilenparameter festzulegen und abzurufen. Durch die Verwendung der Funktion „flag.Parse()“ in der Testdatei können die Befehlszeilenparameter analysiert und in die entsprechenden Variablen gesetzt werden. Für Testszenarien, die gemeinsame Einstellungen erfordern, können globale Variablen in der Testdatei festgelegt und in jeder Testfunktion verwendet werden. Wenn der Test abgeschlossen ist, können Sie ihn in der Funktion „TestMain“ zerlegen und den ursprünglichen Einstellungszustand wiederherstellen. Dies ermöglicht gemeinsame Einrichtungs- und Abbaumethoden über Pakete hinweg.
Angenommen, ich habe zwei Pakete foo
和 bar
. Jedes Paket enthält eine Datei und eine Testdatei:
foo ---widget.go ---widget_test.go bar ---wingding.go ---wingding_test.go
Für diese beiden Tests (widget_test.go und Wingding_test.go) möchte ich nun etwas Setup-Code teilen. Ich weiß, dass ich diesen Code in jedes Paket in main_test.go einfügen kann. Aber ich möchte den Code natürlich nicht an zwei Stellen kopieren/einfügen. Wo kann ich diesen Code ablegen, damit er von Paketen gemeinsam genutzt werden kann?
Fügen Sie es in foo
和 bar
在测试中导入的另一个包 baz
ein anderes Paket baz
ein, das im Test importiert wurde. Wir verwenden dies für den Datenbank-Setup- und Teardown-Code in unseren Tests.
Das obige ist der detaillierte Inhalt vonWie kann man Setup- und Demontagemethoden beim Testen von Go paketübergreifend teilen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!