<ul><li>  </li></ul>
No es .... <ul><li>  </li></ul>
Mockito <ul><li>  </li></ul><ul><li>- Mockito es una librería Java para la creación de  Mock Object .   - Muy usados para ...
Características <ul><li>1. Se pueden crear mocks de interfaces y clases concretas.  </li></ul><ul><li>2. Verificación de i...
No da resaca <ul><li>  </li></ul>
No da resaca <ul><li>  </li></ul>
Dan North, the originator of BDD <ul><li>&quot;We decided during the main conference that we should use JUnit 4 and Mockit...
Fases <ul><li>    // 1. Creación del Mock </li></ul><ul><li>   List mock = mock(List.class); </li></ul><ul><li>   </li></u...
EasyMock vs Mockito <ul><li>EasyMock </li></ul><ul><li>  List mock = createNiceMock(List.class);                          ...
Demo <ul><li>Test Carrito de Compras </li></ul>
Demo - Instalación <ul><li>Maven </li></ul><ul><li><dependencies> </li></ul><ul><ul><li><dependency> </li></ul></ul><ul><u...
Demo  <ul><li>Agregar un producto al carrito </li></ul><ul><li>public void agregar(Producto producto){ </li></ul><ul><ul><...
Demo <ul><li>1er Test :  Cuando se agrega un producto nuevo se verifica que se esté añadiendo un nuevo item a la lista </l...
Demo <ul><li>2do Test :  Cuando se agrega un producto que ya se encuentra en la lista se verifica que se incremente la can...
Demo <ul><li>URL :  https://github.com/Teisen/CarritoComprasMock </li></ul>
  <ul><li>Follow me! </li></ul><ul><li>Twitter: @jteisen </li></ul><ul><li>GitHub: Teisen  </li></ul><ul><li>Blog: www.aul...
Upcoming SlideShare
Loading in …5
×

Mockito

1,497 views

Published on

Introducción y demo de carrito de compras usando Mockito

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,497
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
26
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Mockito

  1. 1.    
  2. 2.   <ul><li>  </li></ul>
  3. 3. No es .... <ul><li>  </li></ul>
  4. 4. Mockito <ul><li>  </li></ul><ul><li>- 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 . </li></ul><ul><li>- Es OpenSource. disponible en http://mockito.org </li></ul>
  5. 5. Características <ul><li>1. Se pueden crear mocks de interfaces y clases concretas. </li></ul><ul><li>2. Verificación de invocaciones (cantidad exacta, al menos una vez, órden de invocación, etc.) </li></ul><ul><li>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). </li></ul><ul><li>4. Un API más clara para crear stubs y verificaciones </li></ul>
  6. 6. No da resaca <ul><li>  </li></ul>
  7. 7. No da resaca <ul><li>  </li></ul>
  8. 8. Dan North, the originator of BDD <ul><li>&quot;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&quot; </li></ul>
  9. 9. Fases <ul><li>  // 1. Creación del Mock </li></ul><ul><li>  List mock = mock(List.class); </li></ul><ul><li>   </li></ul><ul><li>  // 2. Descripición del comportamiento esperado </li></ul><ul><li>  when(mock.get(0)).thenReturn(&quot;one&quot;); </li></ul><ul><li>  when(mock.get(1)).thenReturn(&quot;two&quot;); </li></ul><ul><li>   </li></ul><ul><li>  // 3. Ejecución del método - uso del mock </li></ul><ul><li>  someCodeThatInteractsWithMock(); </li></ul><ul><li>   </li></ul><ul><li>  // 4. Verificación   </li></ul><ul><li>  verify(mock).clear(); </li></ul>
  10. 10. EasyMock vs Mockito <ul><li>EasyMock </li></ul><ul><li>  List mock = createNiceMock(List.class);                                      expect(mock.get(0)).andStubReturn(&quot;one&quot;);      expect(mock.get(1)).andStubReturn(&quot;two&quot;); </li></ul><ul><li>  </li></ul><ul><li>  mock.clear(); </li></ul><ul><li>   </li></ul><ul><li>  replay(mock); </li></ul><ul><li>   </li></ul><ul><li>  someCodeThatInteractsWithMock();                                                       </li></ul><ul><li>  verify(mock);  </li></ul><ul><li>Mockito </li></ul><ul><li>   List mock = mock(List.class); </li></ul><ul><li>   </li></ul><ul><li>  when(mock.get(0)).thenReturn(&quot;one&quot;); </li></ul><ul><li>  when(mock.get(1)).thenReturn(&quot;two&quot;); </li></ul><ul><li>   </li></ul><ul><li>  someCodeThatInteractsWithMock(); </li></ul><ul><li>   </li></ul><ul><li>  verify(mock).clear();     </li></ul>
  11. 11. Demo <ul><li>Test Carrito de Compras </li></ul>
  12. 12. Demo - Instalación <ul><li>Maven </li></ul><ul><li><dependencies> </li></ul><ul><ul><li><dependency> </li></ul></ul><ul><ul><ul><li><groupId>junit</groupId> </li></ul></ul></ul><ul><ul><ul><li><artifactId>junit</artifactId> </li></ul></ul></ul><ul><ul><ul><li><version>4.9</version> </li></ul></ul></ul><ul><ul><ul><li><type>jar</type> </li></ul></ul></ul><ul><ul><ul><li><scope>test</scope> </li></ul></ul></ul><ul><ul><li></dependency> </li></ul></ul><ul><ul><li><dependency> </li></ul></ul><ul><ul><ul><li><groupId>org.mockito</groupId> </li></ul></ul></ul><ul><ul><ul><li><artifactId>mockito-core</artifactId> </li></ul></ul></ul><ul><ul><ul><li><version>1.9.0-rc1</version> </li></ul></ul></ul><ul><ul><ul><li><type>jar</type> </li></ul></ul></ul><ul><ul><ul><li><scope>test</scope> </li></ul></ul></ul><ul><ul><ul><li></dependency> </li></ul></ul></ul><ul><li></dependencies> </li></ul>
  13. 13. Demo  <ul><li>Agregar un producto al carrito </li></ul><ul><li>public void agregar(Producto producto){ </li></ul><ul><ul><li>Item item = items.get(producto); </li></ul></ul><ul><ul><li>if(item != null){ </li></ul></ul><ul><ul><ul><li>item.incrementaCantidad(); </li></ul></ul></ul><ul><ul><li>}else{ </li></ul></ul><ul><ul><ul><li>Items.put(producto, new Item(producto)); </li></ul></ul></ul><ul><ul><li>} </li></ul></ul><ul><li>} </li></ul>
  14. 14. Demo <ul><li>1er Test :  Cuando se agrega un producto nuevo se verifica que se esté añadiendo un nuevo item a la lista </li></ul><ul><li>@Test </li></ul><ul><li>public void testAgregaProductoNuevo(){ </li></ul><ul><ul><li>when(items.get(producto)).thenReturn(null); </li></ul></ul><ul><ul><li>manager.agregar(producto); </li></ul></ul><ul><ul><li>verify(items).put((Producto)anyObject(), (Item)anyObject()); </li></ul></ul><ul><li>} </li></ul>
  15. 15. Demo <ul><li>2do Test :  Cuando se agrega un producto que ya se encuentra en la lista se verifica que se incremente la cantidad para el item. </li></ul><ul><li>@Test </li></ul><ul><li>public void testAgregaProductoRepetitivo(){ </li></ul><ul><ul><li>when(items.get(any())).thenReturn(item); </li></ul></ul><ul><ul><li>manager.agregar(producto); </li></ul></ul><ul><ul><li>verify(item,times(1)).incrementaCantidad(); </li></ul></ul><ul><li>} </li></ul>
  16. 16. Demo <ul><li>URL :  https://github.com/Teisen/CarritoComprasMock </li></ul>
  17. 17.   <ul><li>Follow me! </li></ul><ul><li>Twitter: @jteisen </li></ul><ul><li>GitHub: Teisen </li></ul><ul><li>Blog: www.aulajava.com/teisen </li></ul><ul><li>e-mail : teisen@aulajava.com </li></ul>

×