Pruebas unitarias con mockito y junit

Pruebas unitarias con

Actualmente la mayoría de los programadores usan TDD (Test Driven Development) para realizar pruebas unitarias.

Primero crearemos un proyecto Java

Vamos a hacerlo sin maven para que podáis aplicarlo a todo tipo de proyectos y necesitáis maven aquí pongo la dependencia.

<dependency>

    <groupId>org.mockito</groupId>

    <artifactId>mockito-all</artifactId>

    <version>1.9.5</version>

</dependency>

Hemos descargado la versión 1.9.5 de mockito desde aquí.

En nuestro proyecto añadiremos el jar al buil path

Vamos a Crear nuestras clases.

Esta clase será nuestro bean


Esta la que contendrá las validaciones e imprimirá los resultados


Y esta nuestra clase de TEST

import
static org.junit.Assert.assertEquals;

import
static org.mockito.Mockito.times;

import
static org.mockito.Mockito.verify;

import
static org.mockito.Mockito.when;

import org.junit.Before;

import org.junit.Test;

import org.mockito.InjectMocks;

import org.mockito.Mock;

import org.mockito.MockitoAnnotations;

public
class TestMockito {

     @InjectMocks

     private
final ComprobacionesMockito comprobacionesMockito = new ComprobacionesMockito();

    //Agregamos el mock a la clase

     @Mock

     private PruebaMockVo pruebaMockVo;    

     @Before

     public
void init() {

     // inicializamos los mocks

     MockitoAnnotations.initMocks(this);

     }    

     @Test

     public
void deberiaValidarEdadEImprimirDatos() {

         when(pruebaMockVo.getNombre()).thenReturn(“Amalakaky”);

         when(pruebaMockVo.getApellido1()).thenReturn(“aplellido1”);

         when(pruebaMockVo.getEdad()).thenReturn(18);

     final String saludo = comprobacionesMockito.validaEdad(pruebaMockVo);

         verify(pruebaMockVo, times(2)).getNombre();

         verify(pruebaMockVo, times(2)).getApellido1();

         verify(pruebaMockVo).getApellido2();

         verify(pruebaMockVo, times(2)).getEdad();

     assertEquals(saludo, “Amalakaky aplellido1 18”);

     }

     @Test

     public
void deberiaValidarEdadEImprimirDatosConApellidoMaterno() {

    

         when(pruebaMockVo.getNombre()).thenReturn(“Amalakaky”);

         when(pruebaMockVo.getApellido1()).thenReturn(“aplellido1”);

         when(pruebaMockVo.getApellido2()).thenReturn(“aplellido2”);

         when(pruebaMockVo.getEdad()).thenReturn(20);

     final String saludo = comprobacionesMockito.validaEdad(pruebaMockVo);

         verify(pruebaMockVo, times(2)).getNombre();

         verify(pruebaMockVo, times(2)).getApellido1();

         verify(pruebaMockVo, times(2)).getApellido2();

         verify(pruebaMockVo, times(2)).getEdad();

     assertEquals(saludo, “Amalakaky aplellido1 aplellido2 20”);

     }

     @Test

     public
void deberiaValidarEdadEImprimirDatosConEdadMenor() {

     when(pruebaMockVo.getNombre()).thenReturn(“Amalakaky”);

     when(pruebaMockVo.getApellido1()).thenReturn(“aplellido1”);

     when(pruebaMockVo.getApellido2()).thenReturn(“aplellido2”);

     when(pruebaMockVo.getEdad()).thenReturn(17);

     final String saludo = comprobacionesMockito.validaEdad(pruebaMockVo);

         

         verify(pruebaMockVo).getNombre();

         verify(pruebaMockVo).getApellido1();

         verify(pruebaMockVo).getEdad();

        

     assertEquals(saludo, “”);

     }

    

}

Al ejecutarla vemos los resultado las correctas las pinto por consola

Anuncios
Esta entrada fue publicada en Java, TDD. Guarda el enlace permanente.

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. 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 )

Google+ photo

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

Conectando a %s