Ich verwende Gorilla mux und das net / http-Paket, um einige Routen wie folgt zu erstellen:
%Vor% Ich versuche, einen Test zu schreiben, um diese Routen zu testen. Zum Beispiel versuche ich, die GET
route zu testen, die speziell versucht, eine 400
zurückzugeben, also habe ich den folgenden Testcode.
Wenn ich diesen Test ausführe, erhalte ich jedoch 404
, weil die Anfrage nicht korrekt weitergeleitet wird.?
Wenn ich diese GET-Route vom Browser aus teste, wird ein 400
zurückgegeben, so dass ich sicher bin, dass ein Problem mit der Einrichtung des Tests besteht.
Die Verwendung von init () ist hier verdächtig. Es wird nur einmal im Rahmen der Programminitialisierung ausgeführt. Stattdessen vielleicht etwas wie:
%Vor%Hier rufst du setup () am Anfang jedes passenden Testfalls auf. Ihr ursprünglicher Code teilte das gleiche respRec mit anderen Tests, die Ihre Testergebnisse wahrscheinlich verschmutzten.
Wenn Sie ein Test-Framework benötigen, das mehr Funktionen wie Setup / Teardown-Fixtures bietet, sehen Sie Pakete wie gocheck .
Tags und Links unit-testing go gorilla servemux