Unit Test in Angular con Vitest
Scrivere unit e integration test per componenti, servizi, pipe e direttive Angular utilizzando Vitest, il nuovo runner ufficiale di Angular CLI.

- Durata
- 4h
- Livello
- Avanzato
Questo corso sarà presto disponibile.
Stiamo finalizzando contenuti e materiali. Puoi comunque aggiungerlo al carrello per pianificarlo con il tuo team: ne discutiamo insieme nella call di consulenza gratuita e ti aggiorno appena è pronto.
Di cosa parla
questo corso.
Contesto, obiettivi e taglio del corso. Tutto è personalizzabile in base a stack e team — questa è la base di partenza.
INTRODUZIONE
Vitest è veloce, moderno, supporta nativamente ESM e TypeScript, integra code coverage e si presta sia all'esecuzione locale in watch mode sia all'integrazione in pipeline di CI.
In questo corso imparerai a sfruttarlo al meglio per scrivere test affidabili e manutenibili, focalizzandoti sul comportamento osservabile dei componenti e sulla logica delle tue feature, senza accoppiarti ai dettagli implementativi.
PERCHÉ TESTARE
Ogni volta che modifichi un componente, aggiungi una feature o esegui un refactoring, una buona suite di unit test ti dice in pochi secondi se hai rotto qualcosa.
Questo significa:
- • rilasciare più frequentemente e con più sicurezza
- • ridurre drasticamente i bug che arrivano in produzione
- • poter rifattorizzare senza paura di compromettere funzionalità esistenti
- • avere una documentazione vivente del comportamento atteso del codice
Angular + Vitest rendono oggi questo processo più veloce e piacevole che mai.
COSA IMPARERAI
• Setup e configurazione di Vitest in un progetto Angular (nuovo o migrato da Karma)
• Scrivere codice testabile: linee guida su dependency injection, separazione delle responsabilità, signal-based components
• Testare componenti standalone, interazioni DOM, event binding e signal-based inputs/outputs
• Testare servizi, pipe e direttive
• Mockare chiamate HTTP con
provideHttpClientTesting• Testare routing e navigazione
• Utilizzo dei Component Harness per test robusti e disaccoppiati dal markup
• Generare report di code coverage e integrazione in CI
OBIETTIVO DEL CORSO
Imparerai a riconoscere quali test scrivere e — altrettanto importante — quali NON scrivere, evitando test fragili, ridondanti o accoppiati all'implementazione.
Le tecniche apprese sono in larga parte trasferibili anche ad altri framework (React, Vue, Svelte) che adottano Vitest come runner, perché si basano su principi universali di testing del comportamento.
REQUISITI
Non è necessaria una conoscenza pregressa di Vitest, Jest o Jasmine: i concetti sono introdotti gradualmente partendo dalle basi.
Cosa vediamo,
in dettaglio.
Il programma viene rifinito con il team prima del corso, in base a stack, obiettivi e livello. Quella che vedi è la base: possiamo accelerare o approfondire dove serve e, se necessario, modificare il programma.
La maggior parte del corso è live-coding, con esempi pratici.
M01 Vitest e Test Fundamentals
- 01Perché Angular ha sostituito Karma con Vitest
- 02Installazione e configurazione in un progetto Angular
- 03Struttura di un test:
describe,it,expect - 04Watch mode, coverage e modalità CI
- 05Migrazione da Karma/Jasmine a Vitest
M02 Configurazione e Setup
- 01Opzioni in
angular.json:include,exclude,setupFiles - 02Provider globali con
providersFile - 03Setup di mock comuni a tutti i test
- 01Opzioni in
M03 Testare Componenti
- 01
TestBede creazione di un componente sotto test - 02Testare il rendering del template e le interazioni DOM
- 03Testare componenti con signal inputs/outputs e
model() - 04Testare componenti con
@Input/@Outputclassici - 05Component Harness: API ufficiali per test robusti
- 06Testare componenti che usano Angular Material o librerie UI
- 01
M04 Testare Servizi, Pipe e Direttive
- 01Unit test di servizi con dipendenze mockate
- 02HTTP testing con
provideHttpClientTestingeHttpTestingController - 03Testare pipe pure e impure
- 04Testare direttive di attributo
M05 Tecniche Avanzate
- 01Mock di moduli e librerie di terze parti
- 02Spy, stub e fake con le API di Vitest
- 03Test asincroni:
fakeAsync,tick, gestione di Promise e Observable - 04Testare routing e
ActivatedRoute - 05Testare componenti che usano RxJS e Signals insieme
M06 Coverage, CI e Best Practice
- 01Generare e leggere i report di code coverage
- 02Integrazione in pipeline di CI (GitHub Actions, GitLab CI)
- 03Esecuzione su browser reali con Playwright o WebdriverIO
- 04Anti-pattern: cosa NON testare e come evitare test fragili
- 05Strategie per mantenere la suite veloce e affidabile nel tempo
Prima di questo corso...
Potrebbero piacerti anche...
12h · IntermedioApplicazioni Agentiche con Angular & Gemini SDK
Interfacce professionali per l'AI, dashboard per la generazione video con Veo e tool di image editing basati su Nano Banana.
8h · IntermedioAngular Signal Forms
Le nuove API per la creazione di form in Angular, basate sui Signal: masterclass intensiva, reattiva e moderna.
8h · IntermedioAngular Reactive Forms
Tutto ciò che devi sapere sui Reactive Forms, lo strumento per form complessi, dinamici e reattivi.

