Diferencia entre revisiones de «Test de Metodos y Atributos Privados»

De Dos Ideas.
Saltar a: navegación, buscar
(Test de atributos privados)
(Test de atributos privados)
Línea 6: Línea 6:
  
 
<code java>
 
<code java>
...
+
public class Blah {
     private Collection codigosListasPlan;
+
    ...
 
+
     private String unAtributoPrivado;
...
+
    ...
 +
}
 
</code>
 
</code>
  
Línea 15: Línea 16:
  
 
<code java>
 
<code java>
+
public class BlahTest {
         Field field = instancia.getClass().getDeclaredField("codigosListasPlan");
+
    ...
 +
    @Test
 +
    public void test() {
 +
        Blah instancia = new Blah();
 +
         Field field = instancia.getClass().getDeclaredField("unAtributoPrivado");
 
         field.setAccessible(true);
 
         field.setAccessible(true);
         Collection codigosListasPlan = (Collection) field.get(instancia);
+
         String unAtributoPrivado = (String) field.get(instancia);
          
+
         ...
        codigosListasPlan.blah();
+
    }
       
+
}       
 
</code>
 
</code>
 +
 +
==Test de métodos privados==
 +
...

Revisión del 14:24 6 ene 2010

Hay situaciones en que nos surge la necesidad de testear código con nivel de acceso privado. La solución para esto es usar Reflection. A continuación vemos un ejemplo.

Test de atributos privados

En el ejemplo, tenemos un constructor que completa atributos Collection privados:

public class Blah {

   ...
   private String unAtributoPrivado;
   ...

}

Y aquí el test que accede a dichos atributos:

public class BlahTest {

   ...
   @Test
   public void test() {
       Blah instancia = new Blah();
       Field field = instancia.getClass().getDeclaredField("unAtributoPrivado");
       field.setAccessible(true);
       String unAtributoPrivado = (String) field.get(instancia);
       ...
   }

}

Test de métodos privados

...