martes, 10 de noviembre de 2009

Configuración de JMUnit con Netbeans 6.7





Debemos saber que JMUnit es el framework que soporta netbeans para el desarrollo de pruebas unitarias con java ME aca veremos como configurarlo y ejecutar nuestros Test


lo primero q debemos hacer luego de tener nuestro proyecto creado es seleccionar la clase a la que queremos generarle los test, en este caso tenemos la siguiente: 


package com.logica;
public class Calculadora {
    public double sumar(double a, double b){
        return 0;
    }
    public double restar(double a, double b){
        return 0;
    }
}

consiste en una clase que se encarga de hacer dos operaciones básicas de suma y resta.

teniendola seleccionada en el proyecto, vamos a tools> create JUnit Test:





















damos OK, y nos creara la clase lista con la implementación de los métodos que vamos a testear.


package test.logica;


import com.logica.*;
import jmunit.framework.cldc11.*;
public class CalculadoraTest extends TestCase {
      public CalculadoraTest() {
        //The first parameter of inherited constructor is the number of test cases
        super(2,"CalculadoraTest");
    }        
    public void test(int testNumber) throws Throwable {
        switch (testNumber) {
            case 0:
                testRestar();
                break;
            case 1:
                testSumar();
                break;
            default:
                break;
        }
    }
  /**
   * Test of testRestar method, of class Calculadora.
   */
    public void testRestar() throws AssertionFailedException {
        System.out.println("restar");
        Calculadora instance = new Calculadora();
        double a_1 = 0.0;
        double b_1 = 0.0;
        double expResult_1 = 0.0;
        double result_1 = instance.restar(a_1, b_1);
        assertTrue(expResult_1 == result_1);
        fail("The test case is a prototype.");
    }
    /**
     * Test of testSumar method, of class Calculadora.
     */
    public void testSumar() throws AssertionFailedException {
        System.out.println("sumar");
        Calculadora instance = new Calculadora();
        double a_1 = 0.0;
        double b_1 = 0.0;
        double expResult_1 = 0.0;
        double result_1 = instance.sumar(a_1, b_1);
        assertTrue(expResult_1 == result_1);
        fail("The test case is a prototype.");
    }
}

en este punto ya estarimos listos para desarrollar nuestros test..... pero tenemos un problema... si se fijan el import que hace netbeans por defecto es import jmunit.framework.cldc10.*;

recordaran que el cldc 1.0  no soporta numero flotantes, el soporte de números flotantes en los móviles viene desde el cldc 1.1 por lo cual deberemos cambiar la configuración para correr los tests con soporte para cldc 1.1., también por conveniencia es mejor declarar un paquete aparte para todos los test unitarios, esto con el fin de poder retirarlos fácilmente del proyecto cuando tengamos una versión estable.

creamos un paquete llamado: test.logica

y hacemos un refactor a nuestra clase CalculadoraTest para moverla a dicho paquete, esto no debería tener ningún inconveniente.

ahora el siguiente paso es cambiar nuestra configuración por la de cldc 1.1, para esto damos click derecho sobre el proyecto y vamos a propiedades, en el apartado build>libraries & resources vemos la libreria asociada al proyecto:


















procedemos a quitarla con el boton remove, y luego le damos a la opcion add library, buscamos la libreria JMUnit4cldc11 y la agregamos al proyecto.







ya tenemos nuestra librería configurada, ahora debemos cambiar el midlet de ejecución de los test, para ello vamos al apartado, aplication descriptor>MIDlets del cuadro de propiedades, allí nos aparece un midlet configurado llamado TestSuite, lo seleccionamos y damos editar, cambiamos la clase del midlet tal como se ve a continuación:














luego de esto, seleccionamos la pestaña attributes, y seleccionamos la propiedad de nombre JMUnitTestClasses, como veran alli se encuentra un listado de todas las clases de tipo Test registradas e el proyecto,  verán que solo hay una, en el caso de que tenga mas de una aparecerán ahí  mismo  todas, separadas por espacios. 

el valor que veremos sera:  com.logica.CalculadoraTest y debemos cambiarlo por test.logica.CalculadoraTest que es donde realmente se encuentra nuestra clase.

ya estamos próximos a terminar, damos aceptar a el cuadro de propiedades para que guarde todos los cambios que hemos hecho, abrimos nuestra clase CalculadoraTest y  cambiamos nuestro import jmunit.framework.cldc10.*; por import jmunit.framework.cldc11.*;

damos click derecho sobre el proyecto y damos run, si todo ha salido bien nos mostrara la pantalla de ejecución de nuestros casos de prueba








en este punto ya estamos listos para desarrollar nuestros casos de prueba, y programar los metodos para que estos pasen las pruebas :D

miércoles, 23 de septiembre de 2009

que se puede leer en este blog?

En este blog podrá encontrar contenido sobre desarrollo de software, orientado a dispositivos móviles (java ME, android, flasth lite), desarrollo web con groovy and grails y java, metodologías de software ágiles y cualquier otra cosa que se vaya dando durante la vida en el garaje

Elementos compartidos de yamit cardenas