HTTP-Routen in Golang testen

8

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.

%Vor%

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.

    
moesef 16.08.2014, 05:10
quelle

1 Antwort

7

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 .

    
dyoo 30.08.2014, 18:17
quelle

Tags und Links