Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/10/2015, 11:02
Bordex
 
Fecha de Ingreso: enero-2015
Ubicación: Gijon
Mensajes: 10
Antigüedad: 9 años, 10 meses
Puntos: 1
Pregunta Test negativo JUnit

Hola buenas, vengo a pediros ayuda con una duda que me surgió con el Junit, si bien he logrado realizar los test positivos de forma correcta, no se como hacer que los test negativos funcionen correctamente.

Ya se de antemano que los primeros parametros de los asserEquals en los tests negativos son incorrectos, y ahi es donde reside mi duda, que poner.

El funcionamiento del metodo setAge, esta limitado a un rango [0,118], definido por las variables MIN_AGE_VALUE y, MAX_AGE_VALUE

Muchas gracias de antemano, estoy empezando con JUnit y es un poco confuso para mi.

Test Class:
Código:
    @Test
    public void testAge()
    {
        
        Person dummy = new Person();
        //Positive testing
        dummy.setAge(Person.MIN_AGE_VALUE);
        assertEquals(Person.MIN_AGE_VALUE, dummy.getAge());
        
        dummy.setAge(Person.MAX_AGE_VALUE);
        assertEquals(Person.MAX_AGE_VALUE, dummy.getAge());
        
        dummy.setAge(Person.MAX_AGE_VALUE/2);
        assertEquals(Person.MAX_AGE_VALUE/2, dummy.getAge());
        
        //Negative testing
        dummy.setAge(Person.MIN_AGE_VALUE);
        assertEquals(Person.MIN_AGE_VALUE, dummy.getAge());
        
        dummy.setAge(Person.MIN_AGE_VALUE-1000);
        assertEquals(Person.MIN_AGE_VALUE, dummy.getAge());
            
        dummy.setAge(Person.MAX_AGE_VALUE+1);
        assertEquals(Person.MAX_AGE_VALUE+1, dummy.getAge());
        
        dummy.setAge(Person.MAX_AGE_VALUE*2);
        assertEquals(Person.MAX_AGE_VALUE*2, dummy.getAge());
    }
Person Class
Código:
   
   public int age;
   public final static int MAX_AGE_VALUE = 118;
   public final static int MIN_AGE_VALUE = 0;

public void setAge (int age)
    {
        if ((age >= MIN_AGE_VALUE) && (age <= MAX_AGE_VALUE))
            this.age = age;
    }
public int getAge () 
    {
        return age;
    }
Existe mas código, pero no es relevante.