Diferencia entre revisiones de «Test de Metodos y Atributos Privados»
De Dos Ideas.
(→Test de atributos privados) |
(→Test de atributos privados) |
||
Línea 6: | Línea 6: | ||
<code java> | <code java> | ||
− | ... | + | public class Blah { |
− | private | + | ... |
− | + | private String unAtributoPrivado; | |
− | ... | + | ... |
+ | } | ||
</code> | </code> | ||
Línea 15: | Línea 16: | ||
<code java> | <code java> | ||
− | + | public class BlahTest { | |
− | Field field = instancia.getClass().getDeclaredField(" | + | ... |
+ | @Test | ||
+ | public void test() { | ||
+ | Blah instancia = new Blah(); | ||
+ | Field field = instancia.getClass().getDeclaredField("unAtributoPrivado"); | ||
field.setAccessible(true); | field.setAccessible(true); | ||
− | + | String unAtributoPrivado = (String) field.get(instancia); | |
− | + | ... | |
− | + | } | |
− | + | } | |
</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
...