Jest 13.0: Flow & REPL
Questa pagina è stata tradotta da PageTurner AI (beta). Non ufficialmente approvata dal progetto. Hai trovato un errore? Segnala problema →
Oggi siamo felici di annunciare la prossima release principale di Jest. Abbiamo apportato modifiche significative che porteranno benefici a voi e all'intera infrastruttura di test JavaScript di Facebook. Soprattutto, abbiamo aggiunto tipi statici a tutto il codice di Jest durante un recente hackathon organizzato a Facebook. Quindici persone hanno lavorato giorno e notte per integrare i tipi Flow in Jest e aggiungere nuove funzionalità. I tipi Flow servono a due scopi: primo, crediamo che il codice sia scritto per essere letto. La maggior parte del codice viene scritta una sola volta ma letta da decine di persone nel corso degli anni. Aggiungere tipi statici al progetto aiuta a documentare il codice e a spiegare parti dell'architettura di Jest. Secondo, i tipi statici facilitano la manutenzione e ci permetteranno di rifattorizzare parti di Jest con maggiore sicurezza.
Il progetto Flow è cresciuto molto all'interno di Facebook ed è stato adottato con successo in molti nostri framework e quasi tutto il codice di produzione. L'adozione può essere parallelizzata incredibilmente bene – può essere fatta file per file finché una parte sufficiente della codebase non è ben tipizzata. A quel punto, Flow fornisce un valore reale e aiuta a gestire grandi cambiamenti. In questo modo, sono stati individuati molti edge case e bug minori.
Con l'aiuto di lerna, abbiamo continuato a modularizzare il progetto Jest. Con un semplice aggiornamento alla configurazione, Flow e lerna ora collaborano perfettamente. Suddividere Jest in pacchetti ci ha aiutato a ripensare i confini dei moduli e ci ha permesso di rilasciare utili pacchetti in modo autonomo: gli strumenti CLI jest-runtime e jest-repl ora permettono di eseguire script in un ambiente Jest sandboxato, consentendo di eseguire e debugare la tua app dalla riga di comando. Questo è particolarmente utile per progetti che usano la convenzione di moduli @providesModule di Facebook. Per iniziare, basta installare jest-repl ed eseguirlo nella stessa cartella dove normalmente esegui i test! Abbiamo anche pubblicato un pacchetto jest-changed-files che trova i file modificati nel controllo di versione per git o hg, una funzionalità comune negli strumenti per sviluppatori.
Nuove funzionalità e miglioramenti
-
Aggiunto un plugin di notifica che mostra un avviso all'esecuzione dei test con
--notify. -
Aggiunta l'opzione di configurazione
browserper risolvere correttamente i pacchetti npm con campo browser inpackage.jsonse si scrivono test per app client-side. -
Migliorato il messaggio "nessun test trovato" che ora segnala quali test sono stati trovati e come sono stati filtrati.
-
Aggiunta
jest.isMockFunction(jest.fn())per verificare le funzioni mock. -
Migliorata la stampa del reporter dei test e aggiunto un riepilogo degli errori quando si eseguono molti test.
-
Aggiunto il supporto per simulare moduli virtuali tramite
jest.mock('Module', implementation, {virtual: true}). -
Rimosso la cartella
.haste_cache. Jest ora utilizza la posizione temporanea preferita dal sistema operativo. -
Aggiunta la durata dei singoli test in modalità verbose.
-
Aggiunta la possibilità di registrare snapshot in Jest. Pubblicheremo presto un articolo separato su questa funzionalità.
Infine, abbiamo ricevuto un completo redesign del sito realizzato da Matthew Johnston e aggiunto documentazione per usare Jest con webpack. Buon Jest!
