- Detalles
-
Publicado: Sábado, 20 Septiembre 2008 18:00
-
Escrito por Leonardo De Seta
Uno de los patrones más comunes en los frameworks de testing con mocks es el famoso expect-run-verify (o, como se hace en EasyMock, record-replay-verify). Y con el tiempo se está volviendo algo de lo más molesto... veamos porque:
- Ensuciamos el código. O dicho de otra forma, el código de los tests va quedando horrible, a medida que van aparienciendo todos esos expect. Estamos obligados a programar los expect no porque los necesitamos testear, sino porque sino el mock va a chillar feo.
- No resulta natural al ciclo de testeo. Las llamadas esperadas a un mock son en si aserciones, y deberían comprobarse después de la ejecución. Hacerlo al revés no resulta muy intuitivo.
- Los tests quedan frágiles. Los cambios en el código que requieren una interacción nueva entre objetos seguramente romperán a los tests, ya que no contarán con los expect necesarios.
- Es dificil de identificar errores. Si pudieramos transformar todos esos expect en asersiones, al fallar sabríamos exactamente dónde está el problema. Al tener los expect antes, las fallas ocurren dentro del código, en medio de la ejecución (y debemos luego decifrar excepciones para ubicar el lugar).
Pero a no desesperar, que ya hay alternativas para mejorar el panorama. Y aquí es donde aparece Mockito.
Leer más...
- Detalles
-
Publicado: Sábado, 20 Septiembre 2008 12:00
-
Escrito por Leonardo De Seta
He aquí una disculpa a todos los usuarios de sitios que ayudé a construir: "Lo siento si les hice sufrir refrescos innecesarios en las páginas". O al menos, esto es lo que me vino a la cabeza cuando aprendí lo facil que es usar jQuery para evitar los refrescos de página al enviar un formulario.
jQuery es una librería JavaScript espectacular, con un nombre bastante confuso. De forma muy simple permite agregar funcionalidad a las páginas, de manera no obstrusiva. Ofrece un marco general para trabajar con JavaScript, y además es extensible a través de plugins.
Y entre estos plugins se encuentra jQuery Form, que nos permite "Ajaxificar" un formulario cualquiera (si, acabo de inventar esa palabra, ¿y qué?), de manera que su procesamiento ocurra en segundo plano, y los resultados de la invocación se muestren automáticamente en alguna sección de la página.
Leer más...