Diferencia entre revisiones de «TwiP»

De Dos Ideas.
Saltar a: navegación, buscar
m (Test de entidad propia)
m
Línea 1: Línea 1:
"Tests with Parameters" le permite simplemente agregar parámetros a los métodos de prueba [[JUnit]]. Twip llama a los métodos con todas las combinaciones posibles de sus parámetros... o por lo menos un subconjunto razonable de los valores comunes en el caso de los Integers, Strings, etc. Se puede definir un conjunto de valores propios para su uso y/o se puede reducir los valores fijados con la anotación "Assume", por ejemplo, @Assume("> = 0"). Los valores por defecto existen para los tipos primitivos (int, etc), sus wrappers de clase (Integer, etc), enum y Strings. Para otros tipos o para un conjunto de valores diferentes, se puede definir un método estático o un atributo y anotar los parámetros de su método de prueba, o puede anotar en el campo o método para inyectar los valores por tipo.
+
[[TwiP]] ("Tests with Parameters") permite agregar parámetros a los métodos de prueba [[JUnit]] de forma simple. [[TwiP]] llama a los métodos con todas las combinaciones posibles de sus parámetros... o por lo menos un subconjunto razonable de los valores comunes en el caso de los Integers, Strings, etc.  
  
== Requerimientos<br> ==
+
Se puede definir un conjunto de valores propios para su uso y/o se puede reducir los valores fijados con la anotación "Assume", por ejemplo, @Assume("> = 0"). Los valores por defecto existen para los tipos primitivos (int, etc), sus wrappers de clase (Integer, etc), enum y Strings. Para otros tipos o para un conjunto de valores diferentes, se puede definir un método estático o un atributo y anotar los parámetros de su método de prueba, o puede anotar en el campo o método para inyectar los valores por tipo.
  
&nbsp;TwiP requiere JUnit 4.5 and Java 1.5.  
+
== Requerimientos  ==
 +
 
 +
[[TwiP]] requiere [[JUnit]] 4.5 and [[Java]] 5.  
  
 
== Test de tipos primitivos  ==
 
== Test de tipos primitivos  ==
Línea 12: Línea 14:
 
import org.junit.Test;
 
import org.junit.Test;
 
import org.junit.runner.RunWith;
 
import org.junit.runner.RunWith;
 
  
 
@RunWith(TwiP.class)
 
@RunWith(TwiP.class)
Línea 41: Línea 42:
 
         System.out.println(flag1);
 
         System.out.println(flag1);
 
     }
 
     }
 
 
}
 
}
 
</code>
 
</code>
  
== Test de entidad propia<br>  ==
+
== Test con un objeto propio ==
 
+
==== El objeto Persona ====
 
<code java5>
 
<code java5>
 
public class Persona {
 
public class Persona {
  
     int id;
+
     private int id;
  
     String nombre;
+
     private String nombre;
  
 
     public String getApellido() {
 
     public String getApellido() {
Línea 69: Línea 69:
 
         this.apellido = apellido;
 
         this.apellido = apellido;
 
     }
 
     }
 
  
 
     public Persona(int id, String nombre) {
 
     public Persona(int id, String nombre) {
Línea 96: Línea 95:
 
         return id+" - "+nombre;
 
         return id+" - "+nombre;
 
     }
 
     }
 
 
}
 
}
 
</code>  
 
</code>  
  
 +
==== La prueba JUnit de Persona ====
 
<code java5>
 
<code java5>
 
import net.sf.twip.Assume;
 
import net.sf.twip.Assume;
Línea 107: Línea 106:
 
import org.junit.Test;
 
import org.junit.Test;
 
import org.junit.runner.RunWith;
 
import org.junit.runner.RunWith;
 
  
 
@RunWith(TwiP.class)
 
@RunWith(TwiP.class)
Línea 137: Línea 135:
  
 
== Ver también  ==
 
== Ver también  ==
 +
*[http://twip.sourceforge.net/ TwiP - Tests with Parameters]
  
*[http://twip.sourceforge.net/ TwiP - Tests with Parameters]
+
[[Category:JUnit]]

Revisión del 20:30 4 mar 2010

TwiP ("Tests with Parameters") permite agregar parámetros a los métodos de prueba JUnit de forma simple. TwiP llama a los métodos con todas las combinaciones posibles de sus parámetros... o por lo menos un subconjunto razonable de los valores comunes en el caso de los Integers, Strings, etc.

Se puede definir un conjunto de valores propios para su uso y/o se puede reducir los valores fijados con la anotación "Assume", por ejemplo, @Assume("> = 0"). Los valores por defecto existen para los tipos primitivos (int, etc), sus wrappers de clase (Integer, etc), enum y Strings. Para otros tipos o para un conjunto de valores diferentes, se puede definir un método estático o un atributo y anotar los parámetros de su método de prueba, o puede anotar en el campo o método para inyectar los valores por tipo.

Requerimientos

TwiP requiere JUnit 4.5 and Java 5.

Test de tipos primitivos

import net.sf.twip.Assume; import net.sf.twip.TwiP; import org.junit.Test; import org.junit.runner.RunWith;

@RunWith(TwiP.class) public class tiposTest {

   @Test
   public void intTest(int numero) {
       System.out.println(numero);
   }
   @Test
   public void integerTest(Integer  numero) {
       System.out.println(numero);
   }
   @Test
   public void doubleTest(Double  numero) {
       System.out.println(numero);
   }
   @Test
   public void stringTest(@Assume("=null") String string) {
       System.out.println("| " + string + " |");
   }
   @Test
   public void booleanTest(boolean flag1) {
       System.out.println(flag1);
   }

}

Test con un objeto propio

El objeto Persona

public class Persona {

   private int id;
   private String nombre;
   public String getApellido() {
       return apellido;
   }
   public void setApellido(String apellido) {
       this.apellido = apellido;
   }
       String apellido;
   public Persona(int id, String nombre, String apellido) {
       this.id = id;
       this.nombre = nombre;
       this.apellido = apellido;
   }
   public Persona(int id, String nombre) {
       this.id = id;
       this.nombre = nombre;
   }


   public int getId() {
       return id;
   }
   public void setId(int id) {
       this.id = id;
   }
   public String getNombre() {
       return nombre;
   }
   public void setNombre(String nombre) {
       this.nombre = nombre;
   }
   public String toString() {
       return id+" - "+nombre;
   }

}

La prueba JUnit de Persona

import net.sf.twip.Assume; import net.sf.twip.AutoTwip; import net.sf.twip.TwiP; import net.sf.twip.Values; import org.junit.Test; import org.junit.runner.RunWith;

@RunWith(TwiP.class) public class PersonaTest {

   public static final Persona[] PERSONAS = {new Persona(1, "nombre1"), new Persona(2, "nombre2")};
   @AutoTwip
   public static Persona persona(int id, String nombre, String apellido) {
       return new Persona(id, nombre, apellido);
   }
   @Test
   public void personasTest(@Values("PERSONAS") Persona persona) {
       System.out.println(persona.toString());
   }
   @Test
   public void personaTest(@Assume("=null") Persona persona) {
       if (persona != null) {
           System.out.println(persona.toString());
       } else {
           System.out.println("Control null");
       }
   }

}

Ver también