Estas en:

Catálogo de servicios
Autentia (PDF 6,2MB)

tríptico de Autentia
En formato comic...

Acceso de usuarios registrados:

Deseo registrarme

He olvidado mis datos de acceso

Registra tu empresa:

Descubre las ventajas de registrar tu empresa en AdictosAlTrabajo...

Registrar mi empresa

Listado de empresas ya registradas

Google

Últimos tutoriales

+Noticias Destacadas

+Comentarios Cómic

  2009-08-28 - 11:17:42 AM
   rcanales escribío:
    Completamente de acuerdo contigo. Yo no se quien hace las cuentas en tu empresa [...]
  2009-08-28 - 07:01:44 AM
   Anonimo escribío:
    pues yo tengo el cuello rigido como una piedra porque el aire acondicionado esta [...]
  2009-07-23 - 10:32:12 PM
   Jaime escribío:
    definitivamente la parte mas divertida es la de programar, y la explotacion lo v [...]
  2009-05-13 - 11:26:33 PM
   williarim escribío:
    Quiero felicitar al autor de estas historietas! Gracias por compartir con todos [...]
  2009-05-13 - 04:40:59 PM
   rcanales escribío:
    Hola Brunoise: Todo tiene perspectiva. El función de tus forma de ser y ver e [...]

+Enlaces


Tutorial desarrollado por

Roberto Canales Mora

Creador y propietario de AdictosAlTrabajo.com, Director General de Autentia S.L., Ingeniero Técnico de Telecomunicaciones y Executive MBA por el Instituto de Empresa 2007. Perfíl Technorati

Experto en formación en: Dirección de proyectos informáticos, análisis y diseño UML, arquitectura Web, patrones de diseño y JEE a todos los niveles.

Puedes consultar mi CV y alguna de mis primeras aplicaciones (de los 90) aquí

Catálogo de servicios de Autentia

Descargar (6,2 MB)

Descargar en versión comic (17 MB)

AdictosAlTrabajo.com es el Web de difusión de conocimiento de Autentia.

Catálogo de cursos

Fecha de creación del tutorial: 2003-06-21

JUnit: Pruebas unitarias en Java

Cuando realizados desarrollos profesionales, debemos tener en cuenta que no solo hay que ejecutar el proyecto... hay que ejecutarlo bien.

Un proyecto no esta terminado hasta que esta en producción, tiene su documentación y dispone de las garantias adecuadas de que va a funcionar en todos los escenarios posibles.

Además, normalmente, se desarrolla en un entorno, se empaqueta y posteriormente se entrega a un equipo de calidad para que lo pruebe y lo pase a otro (pre-producción y producción).

Todo esto hay que tenerlo en cuenta  a la hora de dimensionar, diseñar y ejecutar un proyecto.

Del mismo modo, tambien debemos tener en cuenta que no lo podemos hacer de un modo distinto en cada proyecto. Hemos de utilizar mecanismos estandares y ampliables simpre que se pueda.

Otro punto que cabe recordar (y que muchas veces se olvida) es que la tecnología es y debe ser un medio para que nuestros clientes consigan objetivos empresariales y el puritanismo tecnológico a nuestro cliente normalmente le dá igual ....  tenemos que alcanzar un equilibrio entre calidad y resultados ....

Digo esto porque seguro que alguien descubre como hacer test unitarios y se le ocurre que a partir de ahora todo el sistema tenga test unitarios (economicamente no es muy viable .... tenemos que usar el sentido común)

 

Lo primero que vamos a hacer es decargarnoslo, y descomprimirlo.

Luego tenemos que asegurarnos de poner en la variable de entorno classpath junit.jar

Ahora ejecutamos el comando de prueva

java junit.swingui.TestRunner junit.samples.AllTests

Y comprobamos el resultado:

Si no os a funcionado ..... seguro que es un problema de classpath ....

Bueno, ya esta configurado el entorno .... ahora vamos a centrarnos en los principios de los Test Unitarios y como aplicarlo a nuestros programas.

Hacemos un prográma mínimo para que funcionen nuestro propios tests y vemos los requerimientos básicos ...

import junit.framework.*;

public class pruebas extends TestCase
{
   pruebas(String tituloTest)
   {
        super(tituloTest);
   }

    protected void runTest()
    {
        int i = 0;
        this.assertTrue("Valor Igual a 3",i==3);
    }

    public static Test suite()
    {
        TestSuite suite= new TestSuite("Pruebas de clase pruebas");
        suite.addTest(new pruebas("Clase principal"));
        return suite;
    }

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
         // nuestro programa hace lo que deseemos
    }
}

    

 

Para que una clase sea invocable desde JUnit, tenemos que hacer de derive de junit.framework.TestCase

Nuestro test, debe redefinir el método protected void runTest()

Dentro de este método ... haremos llamadas a los métodos de verificación com assertTrue("Valor Igual a 3",i==3);

Para que podamos invocar desde una herramienta gráfica los test, debemos redefinir el método public static Test suite()

Y dentro de este método, añadiremos todos los test que deseemos addTest(new pruebas("Clase principal"));

Bueno ... compilamos y vemos que pasa ...

 

Vemos la otra lengueta ...

Bueno ... seguro que el ejemplo no os a parecido demasiado claro ... asi que vamos a hacer unos pocos más ...

Supongamos que una de nuestras clases se encarga de leer los parámetros de un fichero ... y queremos asegurarnos que cuando pasemos entre entornos ese fichero esté

import junit.framework.*;
import java.io.*;

public class leerPropiedades  extends TestCase
{
    String nombreFichero="parametros.ini";

     public leerPropiedades(String nombreTest)
    {
        super(nombreTest);
    }

    protected void runTest()
    {
        try
        {
            File fichero = new File(nombreFichero);
            this.assertTrue("Podemos Leer",fichero.canRead());
        }
        catch(Exception e)
        {
            this.fail("Fallo al identificar Fichero " + nombreFichero);
        }
   }

    public static Test suite()
    {
        TestSuite suite= new TestSuite("Manipulación de propiedades");
        suite.addTest(new leerPropiedades("Existe el Fichero"));
        return suite;
    }

    public static void main(String[] args) {
    }
}

    

El resultado si el fichero no existe o no tenemos privilegios sería

Si el fichero existe ... la salida sería

 

Lo vamos a dejar de momento aquí .. en próximas entregas expondremos técnicas más avanzadas ....

Sobre el Autor ..

¿Qué te ha parecido el tutorial? Déjanos saber tu opinión y ¡vota!

Muy malo Malo Regular Bueno Muy bueno
 


(Sólo para usuarios registrados)

» Registrate y accede a esta y otras ventajas «

Anímate y coméntanos lo que pienses sobre este tutorial

Puedes opinar o comentar cualquier sugerencia que quieras comunicarnos sobre este tutorial; con tu ayuda, podemos ofrecerte un mejor servicio.


(Sólo para usuarios registrados)

» Registrate y accede a esta y otras ventajas «

Autor Mensaje de usuario registrado

Creative Commons License Esta obra está licenciada bajo licencia Creative Commons de Reconocimiento-No comercial-Sin obras derivadas 2.5

Recuerda

Autentia te regala la mayoría del conocimiento aquí compartido (Ver todos los tutoriales). Somos expertos en: J2EE, Struts, JSF, C++, OOP, UML, UP, Patrones de diseño ... y muchas otras cosas.

¿Nos vas a tener en cuenta cuando necesites consultoría o formación en tu empresa?, ¿Vas a ser tan generoso con nosotros como lo tratamos de ser con vosotros?

Somos pocos, somos buenos, estamos motivados y nos gusta lo que hacemos ...

Autentia = Soporte a Desarrollo & Formación.

info@autentia.com

Tutoriales recomendados

Nombre Resumen
Fecha
Visitas Valoración Votos Pdf
JMeter. Uso de funciones. En este tutorial tratamos el uso de las funciones más habituales de la herramienta JMeter. 2010-01-26 464 - -
JMeter. Gestión de usuarios En este tutorial tratamos la simulación de distintos usuarios, en la herramienta JMeter, mediante el archivo externo users.xml o mediante la función Counter. 2010-01-14 698 - -
JMeter y JSF. Extracción del parámetro ViewState En este tutorial ofrecemos una solución a la parametrización del atributo ViewState, de JSF (Java Server Faces), cuando ejecutamos scripts de pruebas de carga mediante la herramienta JMeter. 2010-01-11 662 - -
Procesador Inteligente de Eventos (IEP) con OpenESB En este tutorial mostramos un ejemplo practico de gestion de eventos en SOA con IEP (Intelligent Event Processor) de OpenESB y probamos el resultado con soapUI 2010-01-04 702 - -
PHP Vs Java El cometido de este documento es el de realizar un análisis en profundidad de dos tecnologías ampliamente aceptadas por la comunidad diseñadora de portales web, como son PHP y Java. 2010-01-04 1638 - -
Tutorial de BPEL con OpenESB (I) En este tutorial vamos a aprender a crear procesos BPEL practicando con un ejemplo: un proceso de negocio de venta online de libros. 2009-12-29 1418 - -
Tutorial de BPEL con OpenESB (II) Continuación del Tutorial de BPEL con OpenESB (I). 2009-12-29 1076 - -
Pruebas funcionales de servicios web con soapUI Las pruebas unitarias en cualquier paradigma de programación son, más que una buena práctica, una garantía para obtener un software robusto y (más) fácilmente mantenible. Como responsables de diseño o desarrollo de web services hemos de aplicar estas buen 2009-12-28 1118 - -
JavaBean Datasource Ireport La particularidad del caso que nos ocupa, es conseguir que la fuente de datos del informe sea una lista de JavaBeans y no una consulta definida previamente en el informe. 2009-12-14 1259 Bueno 1
Analizando la calidad del código Java con Sonar En este tutorial vamos a dar a conocer la herramienta Sonar para el control de la calidad del código de nuestros proyectos 2009-12-07 1592 - -

Nota:

Los tutoriales mostrados en este Web tienen como objetivo la difusión del conocimiento. Los contenidos y comentarios de los tutoriales son responsabilidad de sus respectivos autores. En algún caso se puede hacer referencia a marcas o nombres cuya propiedad y derechos es de sus respectivos dueños. Si algún afectado desea que incorporemos alguna reseña específica, no tiene más que solicitarlo. Si alguien encuentra algún problema con la información publicada en este Web, rogamos que informe al administrador rcanales@adictosaltrabajo.com para su resolución.