2009-06-15 26 views

Respuesta

12

adecuados Mock Objects debe dejar de realizar tales simulaciones fácilmente; si no está familiarizado con el concepto, hay un buen tutorial aquí.

+0

+1 Burlarse, no te metas con tirar de los cables. –

+4

el enlace del tutorial ha expirado. – tokhi

1

Para las fallas de la red, nada mejor que desenchufar el cable de su computadora de ethernet (o d/c es inalámbrico) y luego desenchufar el cable que le da acceso a la nube.

Si por malas respuestas te refieres a errores HTTP puedes escribir scripts ASP que siempre arrojarán errores específicos. Si desea probar paquetes HTTP mal formados, tendrá que escribir una aplicación de socket simple para hacerlo.

+0

No estoy seguro de cómo se integra el proceso de desenchufar del cable en su sistema de compilación automático ;-) – assylias

0

Tire de su cable LAN o apagar el router inalámbrico, mientras que las solicitudes se hacen :)

1

¿Has probado HTTPUnit y JWebUnit?

+0

no responde a la pregunta relea la pregunta –

-1

Lo que hacemos en esta situación es abstraer la capa que está haciendo la llamada. En lugar de hacer que su lógica haga directamente la solicitud http, haga que su código invoque una función. Dentro de esa función puede ser algo como:

if (in_test) { 
    response = get_test_response(); 
} else { 
    response = make_http_request(); 
} 

, entonces puede tener sus pruebas de unidad establecen algún valor accesible por la función get_test_response(). De esta forma, puede cambiar programáticamente el resultado de esa llamada.

+1

Por lo general, es mala forma tener ese tipo de lógica en tu aplicación. Yo recomendaría usar un objeto simulado. – codecraig

1

Envuelva la biblioteca que realiza las llamadas HTTP (por ejemplo, java.net.URLConnection o Commons HttpClient) detrás de una interfaz, y luego escriba implementaciones o simulaciones de esa interfaz que simula las condiciones de falla.

Su interfaz solo puede representar las operaciones que su aplicación necesita realizar, en lugar de todo el rango de la funcionalidad del cliente HTTP.

Cuestiones relacionadas