Don't let mocks mock you!
Con Marco Zamprogno
Abstract
Hai mai l’impressione che i test che scrivi con i mock non testino davvero l’applicazione? Ti sei mai ritrovato a dover scrivere molti test E2E perché non riuscivi a testare le logiche business in isolamento? Sei mai stato preso in giro dai mock?
Vieni a scoprire come sfruttare i test double a tuo vantaggio!
Partendo da un codice che vi prende in giro con i mock, gliela faremo vedere a colpi di refactor dei test, e saremo noi gli ultimi a ridere. Per farlo, riscriveremo i test limitando l’uso dei test double e delle librerie, implementandoli noi quando necessario. La riscrittura ci guiderà naturalmente verso un design disaccoppiato, in cui le logiche di business e le logiche di comunicazione col mondo esterno non dipendono l’una dall’altra. Un design disaccoppiato ci semplificherà la scrittura dei test unitari per la nuova logica di business che andremo ad aggiungere.
Alla fine, sarai tu a prendere in giro i mock!
Cosa hanno imparato i partecipanti
Attraverso un percorso hands-on di refactoring del codice e della test suite, al termine di questo workshop i partecipanti avranno acquisito strumenti e pattern concreti per:
- Padroneggiare i Test Double: distinguere con chiarezza le differenze tra Mock, Stub e Fake, imparando a implementare test double personalizzati e leggeri senza abusare delle librerie di mocking.
- Riconoscere i “Mock Smell”: individuare i test fragili e accoppiati all’implementazione anziché al comportamento, evitando che i test diventino un ostacolo al refactoring.
- Disaccoppiare il Dominio dal Mondo Esterno: progettare un’architettura in cui le regole di business siano isolate da I/O, database e servizi terzi, semplificando il testing in isolamento.
- Scrivere Test Robusti e Veloci: creare una test suite affidabile e reattiva che verifichi il reale valore del software e faciliti l’aggiunta di nuove funzionalità in sicurezza.