2009-12-04 9 views

Respuesta

17

Lo más importante que hay que hacer es intentar extraer todo de los servlets que no está directamente relacionado con el comportamiento del servlet.

Esto hace que sea inmediatamente más fácil probar la funcionalidad del núcleo lote. Al hacer esto, inmediatamente tiene un conjunto de componentes no atados al contenedor y que se pueden probar sin el dolor de correr e interconectarse con un contenedor (además de hacerlos más reutilizables). Se debe pensar en la arquitectura y en la estratificación apropiada de los componentes, p. componentes que devuelven estructuras de objeto en lugar de fragmentos visualizables, sin utilizar HttpRequests directamente pero algunos solicitan una estructura de clasificación, etc.

La mayoría de sus pruebas (dependiendo de la estructura y complejidad de su sistema) se pueden probar normalmente. Se pueden crear pruebas adicionales centradas en servlets usando (digamos) Apache Cactus para la funcionalidad de comprobación de cordura. Más allá de eso, es posible que desee investigar soluciones en el navegador como Selenium.

(Nota: Este método funciona para la mayoría de los entornos de interfaz gráfica de usuario - por ejemplo Swing)

+0

"08/08/2011 - Jakarta Cactus ha sido retirado". – Raedwald

2

Casi la misma pregunta se hizo hoy here.

Jakarta cactus es un marco de pruebas unitarias para servlets.

+0

Es bueno saber este proyecto de cactus de Yakarta. Pero me gustaría saber también cuáles son las mejores prácticas. ¡Gracias por el consejo! –

+0

"08/08/2011 - Jakarta Cactus ha sido retirado". – Raedwald

2

lo que normalmente hacemos es cargar el servlet con una petición y la respuesta simulada. Si está utilizando Spring, esto es especialmente fácil ya que proporciona una MockHttpRequest y MockHttpResponse.

Suponiendo que tiene capas claramente definidas en su aplicación, el resto es fácil. El servicio subyacente/capa DAO se puede reemplazar con simulaciones, por lo que solo nos aseguramos de que el servlet esté haciendo lo que se supone que debe estar haciendo para el objeto de solicitud determinado y de que escriba la respuesta correctamente.

Cuestiones relacionadas