Prueba De Integracion Dummy con Ant

De Dos Ideas.
Revisión del 20:47 15 nov 2011 de Uva (discusión | contribuciones) (Página creada con 'En diferentes oportunidades nos surge la necesidad de realizar pruebas de Integración contra servidores o servicios que no están disponibles por X motivo. Este es un ejemplo…')
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

En diferentes oportunidades nos surge la necesidad de realizar pruebas de Integración contra servidores o servicios que no están disponibles por X motivo.

Este es un ejemplo de solución para un servicio que consume un Conector, el cuál le pega a una plataforma que no está disponible. Utilizando una clase Mock y un poco de ant, podemos generar un distribuible que nos sirva para probar el servicio de manera Mock.

Contexto

Supongamos que tenemos un servicio que estamos exponiendo, que internamente se comunica con un conector mediante una librería cliente. Lo hace mediante este Dao

@Repository public class ConectorDaoImpl implements ConectorDao {

   /**
    * Conector delegate.
    */
   @Autowired
   private ConnectorRemoteBusiness conector;


   /**
    * @{@inheritDoc}.
    */
   @Override
   public void llamarAConector(String parametro)  {
       // código... 
   }

}

Ahora supongamos que para nuestros test de componentes nos generemos una implementación mock del cliente del conector, para manejar datos dummy para nuestras pruebas:

public class ConnectorRemoteBusinessMock implements ConnectorRemoteBusiness {

   @Override
   public String invocarConector(String parametro) throws RemoteException {
       String respuesta = null;
       switch (parametro) {
           case 1: respuesta = "Respuesa1" break;
           case 2: respuesta = "Respuesa2" break;
           case 3: respuesta = "Respuesa3" break;
           default: respuesta = "default"; break;
       }
       return respuesta;
   }
  

}

Y en los test de componentes, configuramos Spring para que al Dao se le inyecte la implementación Mock.

Ahora, supongamos que nuestro servidor sigue caído, y necesitamos generar un distribuible que utilice este Dao con la inyección del delegate mock. Podemos tunear las tareas ant para realizar dicha acción. Ahora vamos a ver como.

Generando el Distribuible Mock