2009-06-15 15 views

risposta

12

Adatto Mock Objects dovrebbe consentono di eseguire tali simulazioni con facilità; se non hai familiarità con il concetto, c'è un buon tutorial qui.

+0

uno finto, non si scherza con i fili di trazione. –

+4

collegamento tutorial è scaduto. – tokhi

1

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.

+0

Non sono sicuro di come integrare il processo di scollegare il cavo nel vostro sistema di compilazione automatica se ;-) – assylias

0

Tira fuori il tuo filo LAN o spegnere il router wireless, mentre le richieste sono in corso :)

1

Hai provato HTTPUnit e JWebUnit?

+0

non rispondere alla domanda rileggere la domanda –

-1

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.

+1

Di solito è una cattiva forma avere quel tipo di logica nella propria applicazione. Consiglierei di usare un oggetto finto. – codecraig

1

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.

Problemi correlati