Beim Komponententest von Gin-Handler-Funktionen, die Abfrageparameter binden, eine ungültige Speicheradresse oder Null Ein Zeiger-Dereferenzierungsfehler tritt aufgrund einer falsch initialisierten HTTP-Anfrage auf.
Um die Abfrageparameterbindung mit c.BindQuery() zu simulieren, initialisieren Sie die HTTP-Anfrage mit der richtigen URL und URL.RawQuery. Verwenden Sie die folgende Hilfsfunktion:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
Um Serviceaufrufe zu testen, machen Sie den Dienst zu einer Schnittstelle und injizieren Sie ihn in den Handler. Sie können den Dienst als Gin-Kontextwert festlegen, sodass Sie ihn in Komponententests verspotten können. Zum Beispiel:
1 2 3 4 5 6 7 8 9 10 11 12 |
|
Setzen Sie im Komponententest einen Scheindienst in den Kontext ein:
1 |
|
wobei mockSvc die Dienstschnittstelle implementiert.
Das obige ist der detaillierte Inhalt vonWie kann man Gin-Handler-Funktionen mit Abfrageparametern effektiv einem Unit-Test unterziehen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!