Bueno pues JUnit es una herramienta que desde que se publicó su versión 3.8.1 ha quedado un poco congelada. Pero recientemente el proyecto a vuelto a cobrar vida con las nuevas versiones 4.x. Estas nuevas versión introducen algunos conceptos nuevos y hacen uso de las anotaciones introducidas en la versión 1.5 de java.
A continuación, se listan las principales novedades de esta versión de JUnit respecto a versiones precedentes:
- Es necesario utilizar la versión 5 de la JDK para ejecutar los tests.
- Las clases de prueba no necesitan heredar de la clase junit.framework.TestCase.
- Los métodos de inicialización y liberación pueden ser definidos con cualquier nombre siempre y cuando sean etiquetados adecuadamente con @Before y @After. Además puede existir más de un método de inicialización y liberación simultaneamente.
- Los nombre de los métodos de prueba no necesitan contener el prefijo test, sin embargo es necesario que sean definidos con la etiqueta @Test, la cual permite ser utilizada con parámetros que enriquecen las posibilidades de la prueba.
- Existe la posibilidad de declarar métodos de inicialización y liberación globales a la clase de pruebas mediante las etiquetas @BeforeClass y @AfterClass.
JUnit3.8.1
package pruebasSistemaSoftware.junit381;
import junit.framework.*;
import servidorEstadoTrafico.Registro;
import servidorEstadoTrafico.RegistroMalFormadoException;
import servidorEstadoTrafico.Tramo;
public class RegistroTest extends TestCase {
private Registro m_registro;
public void setUp(){
String strCarretera ="M-40";
String strHora="12:23:45";
String strFecha="1/3/2007";
String strClima="Nublado";
String strObras = "No";
m_registro = new Registro(strCarretera,strHora,strFecha,strClima,strObras);
Tramo tramo1 = new Tramo("0","10","3","1","Retenciones","Sin accidentes");
Tramo tramo2 = new Tramo("10","12","2","0","Retenciones","Sin accidentes");
Tramo tramo3 = new Tramo("12","15","3","1","Retenciones","Sin accidentes");
m_registro.anadirTramo(tramo1);
m_registro.anadirTramo(tramo2);
m_registro.anadirTramo(tramo3);
}
public void tearDown(){
}
public void testComprobarFormato(){
try{
m_registro.comporbarFormato();
} catch (RegistroMalFormadoException e){
fail("Se ha originado una excepcion inesperada" + e.toString());
}
}
public void testObtenerLongitud(){
assertEquals(m_registro.obtenerLongitud(),10+2+3);
}
JUnit 4.x
package pruebasSistemaSoftware.junit4.2;
import java.lang.*;
import java.util.*;
import org.junit.Test;
import org.junit.After;
import org.junit.Before;
import static org.junit.Assert.*;
import junit.framework.JUnit4TestAdapter;
import servidorEstadoTrafico.Registro;
import servidorEstadoTrafico.RegistroMalFormadoException;
import servidorEstadoTrafico.Tramo;
public class RegistroTest{
private Registro m_registro;
@Before public void inicializar(){
String strCarretera = "M-40";
String strHora="12:23:45";
String strFecha="1/3/2007";
String strClima="Nublado";
String strObras = "No";
m_registro = new Registro(strCarretera,strHora,strFecha,strClima,strObras);
Tramo tramo1 = new Tramo("0","10","3","1","Retenciones","Sin accidentes");
Tramo tramo2 = new Tramo("10","12","2","0","Retenciones","Sin accidentes");
Tramo tramo3 = new Tramo("12","15","3","1","Retenciones","Sin accidentes");
m_registro.anadirTramo(tramo1);
m_registro.anadirTramo(tramo2);
m_registro.anadirTramo(tramo3);
}
@After public void liberar(){
}
@Test(expected=RegistroMalFormadoException.class)
public void comprobarFormato() throws RegistroMalFormadoException {
m_registro.comprobarFormato();
}
@Test(timeout=1000)
public void obtenerLongitud(){
assertEquals(m_registro.obtenerLongitud(),10+2+3);
}
}
Ejemplos extraidos del libro "Pruebas de Software y JUnit Un análisis en profundidad y ejemplos prácticos"
1 comentario:
Make money with online slot machines | Work-to-Earn
The best online used ford edge titanium casinos titanium bolt that offer this type of service หารายได้เสริม are also known as the Mega Moolah, which has titanium stud earrings become one of the most popular mens titanium necklace games
Publicar un comentario