067- Pruebas Unitarias (IV): Ejemplo de la calculadora.

¡Hola a todos!

En esta nueva entrada vamos a ver un ejemplo real de un proyecto con test unitarios en Java usando Eclipse y JUnit para hacer nuestros test unitarios. ¡Comenzamos!

¿Qué necesitas?

  • Tener instalado Java en tu ordenador.
  • Tener un IDE: yo usaré Eclipse.

¿Cómo empezar?

Podemos comenzar de dos formas: creando un proyecto Java desde cero y crear tu las clases o utilizar el proyecto que ya he creado para ti y que puedes descargarte en el siguiente enlace:

https://github.com/estefafdez/unit-test-java-junit

Antes de comenzar recuerda siempre hacer un fork del repositorio y clonarlo a tu entorno local para hacerlo más fácil y, si quieres, hacer algún PR a mi repositorio con mejoras.

Una vez que tenemos el fork creado y el clone realizado, podemos importar el proyecto en nuestro IDE, en mi caso Eclipse.

Importar el proyecto:

Para importar un proyecto en Eclipse hacemos click en File -> Import -> Existing Projects into Workspace:

Seleccionamos la carpeta donde hemos guardado el proyecto y hacemos click en Finalizar:

Una vez que lo importamos tendremos la siguiente estructura en el proyecto:

Entendiendo las anotaciones de JUnit:

Antes de comenzar con la estructura de paquetes del proyecto tenemos que hablar de las anotaciones en JUnit. Las que hemos usado y las más importantes son las siguientes:

  • @Test: Anotación que deben llevar todos los test.
  • @Before: métodos que serán invocados antes de cada test
  • @BeforeClass: métodos que serán invocados antes de ejecutar los test.
  • @After: métodos que serán invocados después de cada test
  • @AfterClass: métodos que serán invocados después de ejecutar los test.
  • @Ignore: sirve para marcar que un test no debe ser tenido en cuenta a la hora de ejecutar los test unitarios.

Entendiendo la estructura del proyecto:

Una vez entendido para qué sirven las anotaciones, pasaremos a definir la estructura del proyecto. En este proyecto tenemos dos paquetes:

  • El primero, calculadora, es el código desarrollado, que en este caso es una Calculadora con varias operaciones: sumar, restar, multiplicar y dividir.
  • El segundo, calculadora.test, es el paquete en el que crearemos las clases de test. Por ahora tenemos 3 ficheros:
    • CalculadoraBaseTest: esta clase es una clase en la que definiremos las funciones genéricas para todos los test, en este caso:
      • setUpClass: Es el método que se ejecuta antes de ejecutar los test. En ella se ve un mensaje para que en el log se muestra que se están empezando a ejecutar los test unitarios.
      • setUp: Es el método que se ejecuta antes de cada test y en el que incluiremos un mensaje con el nombre del test que se está ejecutando.
      • tearDownClass: Es el método que se ejecuta después de ejecutar todos los test. En ella se ve un mensaje para que en el log se muestra que han terminado de ejecutar los test unitarios.
      • tearDown: Es el método que se ejecuta antes de después test y en el que incluiremos un mensaje con el nombre del test que se acaba de ejecutar.
    • CalculadoraSumaTest: Clase Test en la que definiremos los test para la operación suma de la calculadora. Extendemos de la clase base (CalculadoraBaseTest) para que se ejecuten los métodos que hemos definido antes y después de la clase y de los test.
    • CalculadoraRestaTest: Clase Test en la que definiremos los test para la operación resta de la calculadora. Extendemos de la clase base (CalculadoraBaseTest) para que se ejecuten los métodos que hemos definido antes y después de la clase y de los test.

Si JUnit no está añadido en el proyecto, lo tenemos que añadir de la siguiente forma: Seleccionamos el proyecto -> Build Path -> Configure Build Path.

A continuación hacemos click en Add library -> JUnit.

Y ya podemos usarla para ejecutar nuestros test.

¿Cómo ejecutar los test?

Para ejecutar los test con JUnit nos iremos o bien al test (si queremos probar un test concreto) o a la clase, y haremos click en el botón derecho y Run As -> JUnit Test.

Una vez terminados de ejecutar, podremos comprobar los resultados:

Tenéis varios tests en el proyecto sobre la suma y la resta, cualquier PR con nuevas operaciones en la calculadora y nuevos tests son bienvenidos 🙂

¡Hasta la siguiente entrada!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s