Ho alcuni metodi nella mia app che effettuano richieste http. C'è un buon modo per simulare i guasti di rete e le cattive risposte per i test unitari?Test dei metodi che effettuano richieste http
risposta
Adatto Mock Objects dovrebbe consentono di eseguire tali simulazioni con facilità; se non hai familiarità con il concetto, c'è un buon tutorial qui.
Per guasti di rete niente è meglio di prima di scollegare i computer cavo ethernet (o D/c è wireless) e poi scollegare qualunque cavo consente l'accesso al cloud.
Se per risposte errate si intendono gli errori HTTP è possibile scrivere script ASP che generano sempre errori specifici. Se vuoi testare pacchetti HTTP malformati dovrai scrivere una semplice app socket per farlo.
Non sono sicuro di come integrare il processo di scollegare il cavo nel vostro sistema di compilazione automatica se ;-) – assylias
Tira fuori il tuo filo LAN o spegnere il router wireless, mentre le richieste sono in corso :)
Quello che facciamo in questa situazione è astratto del livello che sta effettuando la chiamata. Invece di fare in modo che la tua logica effettui direttamente la richiesta http, chiama il codice una funzione. All'interno di tale funzione può essere qualcosa di simile:
if (in_test) {
response = get_test_response();
} else {
response = make_http_request();
}
allora si può avere il test di unità impostare un certo valore accessibili dalla funzione get_test_response(). In questo modo è possibile modificare in modo programmatico quale sarà il risultato di tale chiamata.
Di solito è una cattiva forma avere quel tipo di logica nella propria applicazione. Consiglierei di usare un oggetto finto. – codecraig
Avvolgere la libreria che effettua le chiamate HTTP (ad es. Java.net.URLConnection o Commons HttpClient) dietro un'interfaccia e quindi scrivere implementazioni o mock di quell'interfaccia che simula le condizioni di errore.
L'interfaccia può solo rappresentare le operazioni che l'applicazione deve eseguire, piuttosto che l'intera gamma di funzionalità client HTTP.
Forse Spring test mocks potrebbe essere di aiuto.
- 1. Test delle unità richieste HTTP in C#
- 2. Akka Flow si blocca quando si effettuano richieste HTTP tramite il pool di connessioni
- 3. determinazione dei metodi di autenticazione http web
- 4. Servizi WebSocket Android che effettuano più connessioni
- 5. Volley: richieste HTTP lente
- 6. Traccia richieste HTTP
- 7. richieste http con PowerShell
- 8. Mappatura delle richieste HTTP alle risposte HTTP
- 9. Richieste HTTP asincrone in PHP
- 10. Instradamento di richieste HTTP tramite Node.js
- 11. JUnit opzionali test/richieste
- 12. Richieste HTTP parallele in rubino
- 13. Django Attributi del campo personalizzato che effettuano query di database
- 14. Richieste HTTP in Swift 3
- 15. Richieste HTTP parallele con Retrofit
- 16. Rails: richieste HTTP non bloccanti?
- 17. che svolgono le richieste HTTP con l'arricciatura (utilizzando il proxy)
- 18. richieste HTTP con Capture Javascript
- 19. Firefox fa due richieste HTTP
- 20. Test del valore di ritorno dei metodi spiati usando Jasmine
- 21. Test dei metodi di nodo non esportati di un modulo
- 22. Come monitorare le richieste HTTP (get, post etc) che la mia app sta facendo in Android
- 23. Modifica dei metodi privati protetti per i test
- 24. Come limitare gli utenti che possono eseguire test jenkinsfile nelle richieste pull?
- 25. Unità che controlla i gestori HTTP?
- 26. Come specificare un'interfaccia di rete quando si effettuano richieste net da Node.js?
- 27. server http python, più richieste simultanee
- 28. Metodi HTTP: DELETE vs POST
- 29. Come posso gestire le richieste http di metodi diversi su/in Go?
- 30. Intestazione personalizzata http AngularJS $ http per tutte le richieste
uno finto, non si scherza con i fili di trazione. –
collegamento tutorial è scaduto. – tokhi