Usando PowerMock para Moquear un Constructor

Por varias razones he tenido que intentar hacer un mock la idea que al invocar al constructor de una clase el objeto obtenido fuera el simulado. Esto lo debía hacer porque ese objeto tenía dependencias externas que no podía sustituir de una forma sencilla. Por lo que debía hacer esto.

La idea muy simplifica sería la expresada en este código.


package com.davioth.PruebasDeMocks.PowerMock;

public class ClaseMockeada {

 public void metodo() {

      for (int i = 0; i < 5; i++) {
           ClaseIniciada objeto = new ClaseIniciada();

           objeto.setPropiedad("Propiedad " + i);

           System.out.println(objeto.getPropiedad());

       }

  }
}

La clase que se quiere evitar ejecutar es la siguiente:


como se puede ver lo único que hace es imprimir la propiedad y devolver este valor.

En el siguiente código se muestra lo que he hecho para que a la hora de ejecutar el Test se sustituya el constructor.


En la línea 18 se configura el uso de PowerMock en conjunto con Junit, el la línea 19 se indica que se prepara la clase ClaseMockeada  para se un test. Luego en las líneas 24 y 25 creamos un Mock de la clase ClaseIniciada  que es iniciada en la línea 29.

El código usado se puede encontrar en este enlace.

Enlaces de Interés.

Esta entrada fue publicada en Java y etiquetada , , . Guarda el enlace permanente.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *