Testmethoden, die http-Anfragen stellen

8

Ich habe einige Methoden in meiner App, die HTTP-Anfragen machen. Gibt es eine gute Möglichkeit, Netzwerkfehler und schlechte Antworten für die Komponententests zu simulieren?

    
Pedro Borges 15.06.2009, 18:39
quelle

7 Antworten

12

Geeignete Mock-Objekte sollten Sie solche Simulationen leicht durchführen lassen; Wenn Sie mit dem Konzept nicht vertraut sind, gibt es hier ein gutes Tutorial .

    
Alex Martelli 15.06.2009, 18:43
quelle
1

Bei Netzwerkausfällen ist nichts besser, als zuerst das Ethernetkabel Ihres Computers zu entfernen (oder es kabellos zu machen) und dann das Kabel zu entfernen, das Ihnen den Zugang zur Cloud ermöglicht.

Wenn Sie unter schlechten Antworten HTTP-Fehler verstehen, können Sie ASP-Skripte schreiben, die immer spezifische Fehler auslösen. Wenn Sie misslungene HTTP-Pakete testen möchten, müssen Sie dafür eine einfache Socket-App schreiben.

    
Spencer Ruport 15.06.2009 18:43
quelle
1

Haben Sie versucht HTTPUnit und JWebUnit ?

    
George Stocker 15.06.2009 18:43
quelle
1

Umbrechen Sie die Bibliothek, die die HTTP-Aufrufe (z. B. java.net.URLConnection oder Commons HttpClient) hinter einer Schnittstelle ausführt, und schreiben Sie dann Implementierungen oder Mocks dieser Schnittstelle, die die Fehlerbedingungen simulieren.

Ihre Schnittstelle kann nur die Operationen darstellen, die Ihre Anwendung ausführen muss, und nicht die gesamte Bandbreite der HTTP-Client-Funktionalität.

    
skaffman 15.06.2009 18:56
quelle
1

Vielleicht Spring Test Mocks würde helfen.

    
duffymo 16.06.2009 00:56
quelle
0

Ziehen Sie Ihr LAN-Kabel heraus oder schalten Sie Ihren WLAN-Router aus, während die Anfragen gestellt werden:)

    
karim79 15.06.2009 18:43
quelle
-1

Was wir in dieser Situation tun, ist die Ebene, die den Aufruf auslöst. Anstatt Ihre Logik direkt die HTTP-Anfrage zu machen, lassen Sie Ihren Code eine Funktion aufrufen. Innerhalb dieser Funktion kann etwas wie sein:

%Vor%

Dann können Sie Ihre Komponententests auf einen Wert setzen, auf den die Funktion get_test_response () zugreifen kann. Auf diese Weise können Sie das Ergebnis des Aufrufs programmatisch ändern.

    
Chris Simmons 15.06.2009 18:45
quelle

Tags und Links