martes, 12 de abril de 2011

TPOO 10 : Pruebas Unitarias con Junit

Hola que tal, en este post colocaré y explicaré como se realizan las pruebas unitarias, de una clase creada por mi, usando el framework de JUnit.

Para comenzar, se debe descargar el .jar que contiene las librerías de junit del siguiente link:

(Nota: Descargar el que dice junit-4.9b2.jar - Basic jar )

Ahora se pueden hacer dos cosas, una colocar el classpath de donde lo coloquemos, o moverlo a la carpeta de /usr/lib/jvm/java-6-openjdk/jre/lib/ext.Yo hice la segunda, ya que me parecia mas sencillo.

Al hacer cualquiera de estas dos ya podemos simplemente importar librerías como las siguientes:

import junit.framework.Test;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
import junit.textui.TestRunner;

Pruebas Unitarias de mi proyecto:

Las pruebas que haré en mi proyecto, serán principalmente a la base de datos, para comprobar que se agreguen correctamente los datos de un cliente a la misma, y para comprobar que se eliminan correctamente los mismos.

El código de la prueba es el siguiente:

import junit.framework.*;
import junit.textui.TestRunner;
import java.sql.*;

public class Prueba extends TestCase{

 private DataBase db = new DataBase();

  public static Test suite() {

   return new TestSuite(Prueba.class);
  }
 
  public void testAddGuest(){
  System.out.println("Comprobando el agregado de informacion a la BD...");
  //Definimos el Nombre y el Numero de habitacion del cliente que agregaremos
  String firstName = "Emmanuel";
  String lastName = "Garcia";
  int roomNumber = 10; 
  try{
   //usamos el metodo para agregar un cliente a la base de datos
   db.addGuest(firstName,lastName, roomNumber, 2, "normal","123456789"); 
   //comprobamos que el primer nombre y el apellido de la base de datos coincida con el que recien agregamos
   super.assertTrue(firstName.equals(db.getFirstName(roomNumber)) && lastName.equals(db.getLastName(roomNumber)));
  }catch(Exception e){
   e.printStackTrace();
  }
 }

 public void testDeleteGuest(){
  System.out.println("Comprobado el borrado de información de la BD...");
  try{
   //borramos el cliente agregado anteriormente
   db.deleteGuest("EMGA10-02");
   //comprobamos que no existe con assertFalse
   super.assertFalse(db.searchGuest("EMGA10-02"));
  }catch(Exception e){
   e.printStackTrace();
  }
 }
 
  public static void main(String[]args){
   TestRunner.run(Prueba.suite());
  }
} 


Este código funciona usando la clase DataBase, que se puede descargar de aquí.

Esto es todo de pruebas unitarias, cualquier duda porfavor comentar. Saludos.

Referencias:

No hay comentarios:

Publicar un comentario