0
mocking<br />Emanuele DelBono <br />emanuele@codiceplastico.com<br />http://blog.codiceplastico.com<br />
Agenda<br />
Perchè?<br />Se uno unit test è rossol’errore è sicuramentenell’unità sotto test<br />
Definizioni<br />State Based Testing: verifica che un unità funzioni correttamente verificandone lo stato dopo l’esecuzion...
Cosa sono?<br />Sono finti oggetti che ci aiutano in vari modi a testare le nostre unità.<br />Si chiamano simpaticamente:...
Utili perchè?<br />Ci permettono di:<br />rimanere focalizzati sul metodo che stiamo disegnando<br />scrivere unit test an...
Esempio<br />(WheatherStatistics)<br />
Ma hai presente quanto codice hai scritto?<br />Ci sono alcuni framework che aiutano:<br />RhinoMocks<br />Moq<br />TypeMo...
Ri-Esempio<br />(WheatherStatistics)<br />
Le 3 fasi dell’apprendimento<br />WTF !? **%*!!<br />I got the power! Posso mockare il mondo!<br />Lo zen e l’arte del Moc...
Alcune (buone) regole<br />Non verificare i dettagli della collaborazione<br />Se puoi usa uno stub invece di un mock<br /...
E i test di integrazione?<br />I mock object permettono di scrivere test unitari, ma...<br />...anche i test di integrazio...
Grazie<br />Riferimenti:<br />Growing object oriented software – Freeman, Pryce – Addison Wesley<br />http://xunitpatterns...
Upcoming SlideShare
Loading in...5
×

Mocking

1,483

Published on

Presentation about mock objects

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

  • Be the first to like this

No Downloads
Views
Total Views
1,483
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Dummy: servono da parametro per i metodi ma non sono usatiFake: sono implementati ma bypassano il «giro vero» (ad esempio in-memory db)Stub: rispondono in modo predefinitoSpy: rispondono in modo predefinito e registrano le chiamateMock: rispondono in modo predefinito e registrano le chiamate e fanno fallire i test se le chiamate non sono state fatte come previsto
  • Transcript of "Mocking"

    1. 1. mocking<br />Emanuele DelBono <br />emanuele@codiceplastico.com<br />http://blog.codiceplastico.com<br />
    2. 2. Agenda<br />
    3. 3. Perchè?<br />Se uno unit test è rossol’errore è sicuramentenell’unità sotto test<br />
    4. 4. Definizioni<br />State Based Testing: verifica che un unità funzioni correttamente verificandone lo stato dopo l’esecuzione<br />Interaction Testing: verifica che l’unità sotto test effettui correttamente le chiamate verso gli altri oggetti con cui collabora<br />
    5. 5. Cosa sono?<br />Sono finti oggetti che ci aiutano in vari modi a testare le nostre unità.<br />Si chiamano simpaticamente:<br />Dummy, Fake, Stub, Spy, Mock<br />=<br />Test Doubles<br />
    6. 6. Utili perchè?<br />Ci permettono di:<br />rimanere focalizzati sul metodo che stiamo disegnando<br />scrivere unit test anche su oggetti che collaborano con altri<br />scrivere test di interazione tra diversi oggetti<br />posticipare l’implementazione di alcuni collaboratori<br />
    7. 7. Esempio<br />(WheatherStatistics)<br />
    8. 8. Ma hai presente quanto codice hai scritto?<br />Ci sono alcuni framework che aiutano:<br />RhinoMocks<br />Moq<br />TypeMock<br />Nmock<br />Nmock2<br />.NET Mock<br />
    9. 9. Ri-Esempio<br />(WheatherStatistics)<br />
    10. 10. Le 3 fasi dell’apprendimento<br />WTF !? **%*!!<br />I got the power! Posso mockare il mondo!<br />Lo zen e l’arte del Mockare quanto basta<br />
    11. 11. Alcune (buone) regole<br />Non verificare i dettagli della collaborazione<br />Se puoi usa uno stub invece di un mock<br />Non mockare grosse interfacce<br />Mocka solo i tuoi diretti collaboratori<br />Usa un solo mock per il test<br />Non mockare i dati di ritorno<br />
    12. 12. E i test di integrazione?<br />I mock object permettono di scrivere test unitari, ma...<br />...anche i test di integrazione sono importanti.<br />
    13. 13. Grazie<br />Riferimenti:<br />Growing object oriented software – Freeman, Pryce – Addison Wesley<br />http://xunitpatterns.com/<br />http://www.mockobjects.com/<br />
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×