Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porMario Murillo Macías Modificado hace 9 años
3
No es....
4
Mockito - Mockito es una librería Java para la creación de Mock Object. - Muy usados para el testeo unitario en Test Driven Development, - Basado en EasyMock. - Es OpenSource. disponible en http://mockito.org
5
Características 1. Se pueden crear mocks de interfaces y clases concretas. 2. Verificación de invocaciones (cantidad exacta, al menos una vez, órden de invocación, etc.) 3. El stack trace se mantiene limpio, ya que los errores ocurren en los assert que se hagan (y no dentro del método bajo prueba, como en EasyMock). 4. Un API más clara para crear stubs y verificaciones
6
No da resaca
8
Dan North, the originator of BDD "We decided during the main conference that we should use JUnit 4 and Mockito because we think they are the future of TDD and mocking in Java"
9
Fases // 1. Creación del Mock List mock = mock(List.class); // 2. Descripición del comportamiento esperado when(mock.get(0)).thenReturn("one"); when(mock.get(1)).thenReturn("two"); // 3. Ejecución del método - uso del mock someCodeThatInteractsWithMock(); // 4. Verificación verify(mock).clear();
10
EasyMock vs Mockito EasyMock List mock = createNiceMock(List.class); expect(mock.get(0)).andStubReturn("o ne"); expect(mock.get(1)).andStubReturn( "two"); mock.clear(); replay(mock); someCodeThatInteractsWithMock(); verify(mock); Mockito List mock = mock(List.class); when(mock.get(0)).thenReturn("one"); when(mock.get(1)).thenReturn("two"); someCodeThatInteractsWithMock(); verify(mock).clear();
11
Demo Test Carrito de Compras
12
Demo - Instalación Maven junit 4.9 jar test org.mockito mockito-core 1.9.0-rc1 jar test
13
Demo Agregar un producto al carrito public void agregar(Producto producto){ Item item = items.get(producto); if(item != null){ item.incrementaCantidad(); }else{ Items.put(producto, new Item(producto)); }
14
Demo 1er Test: Cuando se agrega un producto nuevo se verifica que se esté añadiendo un nuevo item a la lista @Test public void testAgregaProductoNuevo(){ when(items.get(producto)).thenReturn(null); manager.agregar(producto); verify(items).put((Producto)anyObject(), (Item)anyObject()); }
15
Demo 2do Test: Cuando se agrega un producto que ya se encuentra en la lista se verifica que se incremente la cantidad para el item. @Test public void testAgregaProductoRepetitivo(){ when(items.get(any())).thenReturn(item); manager.agregar(producto); verify(item,times(1)).incrementaCantidad(); }
16
Demo URL : https://github.com/Teisen/CarritoComprasMock
17
Follow me! Twitter: @jteisen GitHub: Teisen Blog: www.aulajava.com/teisen e-mail : teisen@aulajava.com
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.