Programación en castellano
Inicio > Tutoriales > J2EE > Construir una Aplicacion Web utilizando HttpUnit y la Metodología Diriga al Test
-Tutoriales

Construir una Aplicacion Web utilizando HttpUnit y la Metodología Diriga al Test


Borrar Contactos

Ya está listo para construir los test para el resto de funcionalidades: borrar y editar contactos. La funcionalidad de borrar será bonita. Ahora el test testSaveNewContact de la suite NewTest está desordenada. Crea un nuevo contacto, pero después no lo borra. La funcionalidad de edición debería ser fácil de probar porque es muy similar a los test de la funcionalidad new. Implementa primero la funcionalidad de borrado realizando los siguientes pasos:

  1. Copia DeleteTest.java.v1 desde el archivo del código de ejemplo a src/test/com/abcinc/phonelist/test con el nombre DeleteTest.java.
  2. Copia build.xml.v4 sobre tu fichero build.xml existente. La nueva versión de build.xml tiene los siguientes cambios:
    1. la adición de un nuevo target llamado test-delete
    2. la adición de una nueva dependencia test-delete al target test
    3. la adición de las clases de la aplicación Web al classpath de los tests para que el test pueda cojer clases como ContactBean
    4. la adición de la dependencia compile-classes al target compile-tests para que los tests puedan hacer uso de las clases compiladas de la aplicación Web
    5. el cambio del target compile-tests para añadir las clases de la aplicación Web al classpath para la compilación de los tests.
  3. Copia ContactBean.java.v2 archivo del código de ejemplo a src/WEB-INF/classes/com/abcinc/phonelist con el nombre ContactBean.java, en lugar de la copia existente de ContactBean.java. Añadiste un nuevo método equals para comparar la igualdad de los campos de dos ejemplares de ContactBean, que se utilizaba en DeleteTest.java.

Teclea ant test para verificar que aunque se pasan los tests NewTest y ShowListTest, la suite DeleteTest falla un test. Se pasa el chequeo de la presencia del botón delete, pero no pasa el chequeo de la action delete. Obtendremos un error como el siguiente:

     [java] There was 1 error:
     [java] 1) testDeleteContact(com.abcinc.phonelist.test.DeleteTest)com.meterware.httpunit.HttpInternalErrorException:
     Error on HTTP request: 500 Internal Error [http://localhost:8080/phonelist/delete.do]

Si tu suite de tests no falla, normalmente significa que has cometido un error al codificar el test. Realiza los siguientes pasos para implementar la funcionalidad delete que hará que se pasen lo tests:

  1. Copia DeleteAction.java.v1 del archivo del código de ejemplo a src/WEB-INF/classes/com/abcinc/phonelist como DeleteAction.java.

Normalmente, necesitaras añadir una sección a struts-config.xml por cada action, pero ya has añadido una sección para la acción /delete. La añadiste para poder ver la lista de contactos con un formulario que permitía seleccionar ítems para borrarlos. Podrías recordar que Struts requiere la definición de las acciones utilizadas en sus formularios, incluso aunque no hayas implementado todavía la acción /delete, aún has tenido que definirlo en struts-config.xml para poder mostrar el formulario en el fichero showList.jsp.

Prueba de nuevo los tests. Asegurate de apagar Tomcat, eliminar la aplicación en Tomcat (deploy), desplegarla de nuevo, y arrancar Tomcat de Nuevo. La suite DeleteTest debería pasar todos los test. Una buena cosa a hacer ahora es que la suite NewTest haga limpieza después de ejecutarse. Ahora que ya tienes la función delete funcionando de la forma apropiada, puedes borrar el nuevo contacto que has creado en NewTest para probar la habilidad de crear y grabar nuevos contactos.

Reemplaza tu versión de NewTest.java de src/test/com/abcinc/phonelist/test con NewTest.java.v3 del archivo del código de ejemplo. Asegurate de mantener el nombre de fichero como NewTest.java. Si examinas el fichero, verás que el método testSaveNewContact contiene código extra para determinar el valor ID del contacto recien creado y luego envia el formulario a la página showList con checkbox correcto seleccionado para la acción delete.

Ejecuta ant clean para asegurarte de que el directorio de construcción está limpio, luego ejecuta de nuevo ant test para verificar la suite NewTest funciona de la forma apropiada y no deja el nuevo contacto en la base de datos cada vez que se ejecuta. Puedes apuntar tu navegador a http://localhost:8080/phonelist/showList.do para verificar que la lista de contactos no cambia después de ejecutar NewTest. Reemplaza localhost con el nombre de la máquina donde se está ejecutando Tomcat.

 
Patrocinados
 

Copyright © 1999-2007 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network

red internet: musica mp3 | logos y melodias | hospedaje web linux | registro de dominios | servidores dedicados
más internet: comprar | recursos gratis | posicionamiento en buscadores | tienda virtual | gifs animados