Foro de elhacker.net

Programación => Java => Mensaje iniciado por: adrifs95 en 17 Febrero 2016, 17:47 pm



Título: AYUDA excepciones de Junit
Publicado por: adrifs95 en 17 Febrero 2016, 17:47 pm
Hola,
estoy atascado con las excepciones en Junit.Me han mandado hacer un diccionario lineal, es decir un array, y un hashmap, y sobre eso hacer una clase de prueba con Junit. Además de la interface Diccionario, tengo una clase ClaveValor, en la que hay un String clave y un String valor y sus getter y setter.
Os copio lo que he hecho en Junit
Código:
public class DiccionarioTest1 {
private DiccionarioLineal diccionario1;


@Before
public void preparacion() {
diccionario1 = new DiccionarioLineal(12);

CV c1 = new CV(null, "hola");
CV c2 = new CV(null, null);
CV c3 = new CV("", null);
CV c4 = new CV("", "");



diccionario1.put(c1.getClave(), c1.getValor());
diccionario1.put(c2.getClave(), c2.getValor());
diccionario1.put(c3.getClave(), c3.getValor());
diccionario1.put(c4.getClave(), c4.getValor());


}

@Test(expected = IllegalArgumentException.class)
public void testExceptionPutLineal() throws Exception{
diccionario1 = new DiccionarioLineal(12);

assertEquals(null,);
assertEquals(null, c2.getClave());
assertEquals("", diccionario1.ge);
assertEquals("", c4.getClave());

}

@Test
public void testExceptionPutLineal1() throws Exception{
diccionario1 = new DiccionarioLineal(12);
CV c1 = new CV("hola", null);
CV c2 = new CV("hola", "");
assertEquals("hola",c1.getClave());
assertEquals("hola", c2.getClave());
}
Entiendo que cuando pruebo la excepcion para que no salte, es decir, el ultimo método; no estoy probando nada puesto que le doy unos valores a dos objetos de la clase ClaveValor, que creo en el mismo método. Y pienso que debería darle valores en el método preparación y luego sacar la clave en el assertequals, pero el método getClave, es solo de la clase CV, con lo cual no sé como hacerlo.
Es un poquito largo pero espero su ayuda. Un saludo


Título: Re: AYUDA excepciones de Junit
Publicado por: 4dr14n31t0r en 2 Marzo 2016, 08:33 am
Corrigeme si me equivoco, pero creo que lo que quieres es crear un objeto en la funcion preparacion() y usarlo en la funcion testExceptionPutLineal1() ¿Correcto? Si es asi lo mejor sera que declares el objeto a nivel de clase, es decir, como atributo de la clase, así puedes usarlo en los 2 metodos.
De todos modos creo que no te estoy entendiendo bien