Questo corso è un'introduzione e un'esplorazione dei test per il web.
In questo corso scoprirai i seguenti argomenti:
- Concetti fondamentali sui test
- Test automatici e manuali
- Dove e come eseguire i test
- Best practice
- La filosofia della sperimentazione, che comprende cosa testare, chi è responsabile e come valutare un mezzo per raggiungere un obiettivo, non come un obiettivo in sé.
Il corso include anche un codice campione conciso e pratico da cui imparare.
L'ambito del corso include JavaScript e il modello del documento sul frontend, nonché i test delle librerie nel backend, eseguiti in un ambiente come Node.js. Non presuppone alcuna esperienza di test, ma è necessaria una conoscenza di base di JavaScript e dell'esperienza con Node.js o simili. È adatto sia agli sviluppatori principianti che agli sviluppatori esperti.
Poiché la maggior parte dei framework e degli strumenti di test utilizza un linguaggio comune, la funzionalità di test di Impara utilizza un approccio generale ai test. Nei casi in cui è importante specificare i componenti, utilizzeremo Vitest, un framework di test sempre più popolare, e dimostreremo come testare componenti per il web scritti utilizzando React o Lit. Per ulteriori informazioni su questa scelta, consulta l'appendice.
Puoi seguire questo corso dall'inizio alla fine, ma puoi anche utilizzarlo come riferimento per argomenti specifici. Se pertinente, il corso contiene link a risorse.
Ecco cosa imparerai:
Iniziare a eseguire i test
Che cos'è il test
Questa è un'introduzione generale ai test, che include esempi pratici di test in JavaScript. Include inoltre un'introduzione alla portata di ogni test.
Dove vengono eseguiti i test
I test possono aiutarti a mantenere la produttività e a scrivere software in modo efficiente e, sebbene sia possibile eseguirli manualmente utilizzando una riga di comando, puoi eseguirli anche come parte di un processo automatizzato o di un sistema di creazione.
Ambiente di test
Gli strumenti di runtime come Node sono per codice generico, mentre il codice di test per il browser può essere eseguito in un ambiente emulato o utilizzando un framework progettato per il test del browser.
Tipi di test automatici
Scopri le categorizzazioni comuni dei tipi di test, che corrispondono per lo più alla loro scala. Soprattutto, i tipi di test non hanno una definizione rigorosa e cambieranno in base alle tue esigenze.
Aspetti da testare e approccio
Identificare le parti più importanti del tuo codebase a cui eseguire test rigorosi può essere difficile. Questo modulo presenta l'idea di eseguire il test come mezzo e illustra come valutare il codice per i test.
Test dei componenti nella pratica
In questo modulo pratico imparerai a testare un componente di React
non ideale. Questo metodo utilizza Vitest con tre esempi distinti: intercettazione del traffico di rete creato con fetch()
, simulazione di una dipendenza esterna e Context
di React per fornire un bit di codice personalizzato solo per il test.
Analisi statica
L'utilizzo di strumenti come TypeScript ed ESLint, pur non essendo un approccio consolidato ai test, può offrire un tipo di controllo automatizzato. Questo modulo illustra questi strumenti alternativi.
Asserzioni e altre primitive
Strumenti del mestiere
Scopri le primitive comuni alla maggior parte delle librerie o dei framework di test, tra cui test()
e assert
, che saranno i pilastri di ogni test che scrivi in JavaScript.
Disponibile a breve
- Evitare gli errori più comuni nei test
- Doppi di test
- Testa librerie e utilità
- Decidere un framework di test
Il resto di questa sezione conterrà altre pagine sui framework di test e sulle librerie, sulle modalità di utilizzo e su come decidere quale e quali altri strumenti utilizzare.
(Disponibile a breve) Test basati su problemi
Imparerai i pattern per affrontare una serie di sfide di test web comuni.
Disponibile a breve: test automatici nella pratica
Questa è una sezione pratica che mostra come testare un sito di e-commerce creato con Next.js, comprendente codice che puoi consultare e imparare autonomamente. Imparerai come testare i componenti, come utilizzare i servizi esterni, compresi i pagamenti, per i test e come creare test end-to-end per un sito che ha una pagina di accesso facoltativa.
Disponibile a breve: la filosofia dei test
I test possono essere una sfida tecnica, ma sapere cosa testare, chi è responsabile e le best practice può anche essere una sfida per un team di sviluppo.
(Disponibile a breve) Scrittura di codice testabile
Questo corso fornisce indicazioni su come testare il codice così com'è, ma il tuo team può adottare vari pattern per semplificare i test del codice. In questa sezione illustreremo alcuni approcci.