Mostrando entradas con la etiqueta Programacion orientada a pruebas. Mostrar todas las entradas
Mostrando entradas con la etiqueta Programacion orientada a pruebas. Mostrar todas las entradas

domingo, 20 de abril de 2008

Sring

Framework de código abierto para el desarrollo de aplicaciones en Java

viernes, 18 de abril de 2008

Maven

Herramienta que crea automáticamente los proyectos Java, además de descargarse todas las librerías necesarias para el proyecto así como sus dependencias y crea la documentación de manera automática.
Esta herramienta solo se puede usar desde entorno de consola (Linux) o símbolo de sistema (Windows).

martes, 22 de enero de 2008

TestNG

TestNG es una librería para pruebas (tests) que trabaja con Java y está basado en JUnit (para Java) y NUnit (para .NET), pero introduciendo nuevas funcionalidades que los hacen más poderosos y fáciles de usar, tales como:

  • Anotaciones JDK 5 (Annotations) (JDK 1.4 también es soportado con JavaDoc annotations).
  • Configuración flexible de pruebas.
  • Soporte para pruebas para data-driven testing (con @DataProvider).
  • Soporta el paso de parámetros.
  • Permite distribución de las pruebas en maquinas esclavas.
  • Modelo de ejecución poderoso (TestSuite nunca más).
  • Soportado por herramientas y plugins importantes y variados como: (Eclipse, IDEA, Maven, etc...).
  • Permite embeber BeanShell para una flexibilidad más amplia.
  • Funciones JDK por defecto de runtime y logging. (sin dependencias)
  • Métodos dependientes para pruebas sobre servidores de aplicación.

TestNG está diseñado para cubrir todas las categorías de las pruebas: unitarias, funcionales, end-to-end, integración, etc.

EasyMock

EasyMock es una librería muy útil para hacer pruebas unitarias con JUnit. Nos sirve para crear cualquier objeto fantasma (mock) y hacer que devuelva un resultado concreto para una entrada concreta.

Por ejemplo, si queremos probar un servicio que necesita un DAO para obtener un dato, podemos crear un DAO fantasma (mock) que realice esa función y así librarnos de dependencias y probar el servicio unitariamente.

Para usar EasyMock tan solo hay que hacer 3 cosas:

  1. Crear el objeto fantasma (mock) con createMock
    IMyDAO mockDAO = EasyMock.createMock(IMyDAO.class); 
  2. Proporcionar los parámetros de entrada concretos y los objetos de salida concretos (si es necesario) con expect:
    DAOPK pk = new DAOPK("111"); // clave de lo que se busca
    DAOReturn return = new DAOReturn("Alex");
    EasyMock.expect(mockDAO.find(pk)).andReturn(return);
  3. Generar la implementación del mock con replay:
    EasyMock.replay(mockDAO);

Así ya tendríamos un mock para el DAO y podríamos probar el servicio pasándole este mock:

MyService service = new MyService();
service.setDao(mockDAO);

Customer customer = new Customer("111");
service.findCustumer(customer);