Vai al contenuto principale

Jest 23: 🔥 Testing Super Veloce e Piacevole

· 7 min di lettura
Ricky Hanlon
Ricky Hanlon
Traduzione Beta Non Ufficiale

Questa pagina è stata tradotta da PageTurner AI (beta). Non ufficialmente approvata dal progetto. Hai trovato un errore? Segnala problema →

Siamo entusiasti di annunciare oggi Jest 23, la nostra release principale più grande di sempre! Insieme a oltre 100 contributori, abbiamo pubblicato tantissime funzionalità e correzioni di bug. Grazie a tutti nella community per aver contribuito a rendere il Testing JavaScript un'esperienza piacevole.

Diamo inoltre il benvenuto a Babel e webpack nella community Jest! Dopo la migrazione da Mocha a Jest 23 Beta, webpack ha ridotto il tempo totale dei test di 6 volte, passando da oltre 13 minuti a 2 minuti e 20 secondi. #blazingmeansgood

Ecco alcune delle novità e cambiamenti breaking di Jest 23.

Jest 22: Raffinatezze e Runner Personalizzati

· 8 min di lettura
Simen Bekkhus
Simen Bekkhus
Traduzione Beta Non Ufficiale

Questa pagina è stata tradotta da PageTurner AI (beta). Non ufficialmente approvata dal progetto. Hai trovato un errore? Segnala problema →

Oggi annunciamo una nuova versione major di Jest che affina quasi ogni aspetto del framework per fornire una base di testing più solida. Insieme alla community di Jest, abbiamo implementato numerosi cambiamenti che ti aiuteranno a sfruttare al meglio Jest. Abbiamo inoltre portato alla fase stabile la funzionalità dei runner personalizzati e aggiunto un nuovo pacchetto, jest-worker, per parallelizzare il lavoro su più processi. Abbiamo compilato una lista di punti salienti qui sotto, ma ti invitiamo a consultare il (sempre) massivo changelog.

Jest 20: 💖 Test Piacevoli & 🏃🏽 Multi-Project-Runner

· 7 min di lettura
Traduzione Beta Non Ufficiale

Questa pagina è stata tradotta da PageTurner AI (beta). Non ufficialmente approvata dal progetto. Hai trovato un errore? Segnala problema →

Alcuni mesi fa abbiamo annunciato Jest 19 con importanti nuove funzionalità, diventando la release più grande fino ad oggi. Jest 20 contiene il doppio delle modifiche rispetto alla versione precedente, presenta una completa riscrittura del test runner e aggiunge nuove API di testing. Questa nuova release abilita un nuovo livello di personalizzazione e configurazione per i progetti, semplificando al contempo gli aggiornamenti. Oltre al "Painless JavaScript Testing", crediamo che Jest offra ora un'esperienza di Delightful JavaScript Testing. Esaminiamo nel dettaglio le migliori nuove funzionalità:

Multi-Project-Runner & Revisione della Configurazione

Finora Jest poteva operare solo su un progetto alla volta. Ciò risultava spesso scomodo quando si lavora su molti piccoli progetti con configurazioni autonome. Con Jest 20 abbiamo completamente riscritto il test runner per eseguire più progetti contemporaneamente all'interno di una singola istanza di Jest, ad esempio lavorando su un frontend React e un backend node.js. Ecco un video di Jest che esegue test per React, Relay, Yarn e Jest stesso contemporaneamente:

multi-runner

🃏 Jest 19: Modalità Watch Immersiva e Miglioramenti alla Piattaforma di Test

· 8 min di lettura
Rogelio Guzman
Rogelio Guzman
Traduzione Beta Non Ufficiale

Questa pagina è stata tradotta da PageTurner AI (beta). Non ufficialmente approvata dal progetto. Hai trovato un errore? Segnala problema →

Oggi siamo lieti di rilasciare la versione 19 della piattaforma di test Jest. È il rilascio più grande di Jest finora e siamo entusiasti di mostrarvi ciò che abbiamo costruito negli ultimi due mesi:

Modalità Watch Immersiva

Abbiamo riscritto completamente la modalità watch per renderla istantanea e più estensibile. Il risultato è un'esperienza veramente immersiva: i test vengono rieseguiti immediatamente dopo una modifica ai file e abbiamo semplificato la selezione dei test corretti.

Un'Eccellente Esperienza per Sviluppatori

· 3 min di lettura
Héctor Ramos
Héctor Ramos
Traduzione Beta Non Ufficiale

Questa pagina è stata tradotta da PageTurner AI (beta). Non ufficialmente approvata dal progetto. Hai trovato un errore? Segnala problema →

Crediamo fermamente che una documentazione eccellente sia fondamentale per offrire un'esperienza di sviluppo superiore. Le guide dovrebbero essere chiare, concise e utili sia per i nuovi utenti che per gli esperti. Con questo obiettivo, abbiamo recentemente dedicato del tempo a rinnovare completamente il sito di Jest.

Documentazione migliorata

Uno dei primi cambiamenti che noterete visitando la nostra documentazione è la barra laterale aggiornata. I contenuti sono ora organizzati in tre sezioni principali: un'introduzione a Jest, guide dettagliate sulle funzionalità e una completa riferimento API.

La sezione Introduzione vi guiderà dall'installazione di Jest e dalla scrittura del primo test, fino all'utilizzo dei matcher e al testing di codice asincrono. Se siete nuovi a Jest o avete bisogno di un rapido ripasso, queste guide vi metteranno al passo in poco tempo. Se invece avete già usato Jest e cercate solo un riferimento rapido per l'installazione, la guida Getting Started è ciò che fa per voi.

Una volta presa confidenza con Jest, potrete approfondire nella sezione Guide avanzate. La nuova guida allo Snapshot Testing copre tutto ciò che serve sapere sulla creazione e manutenzione dei test con snapshot.

Infine, abbiamo completamente rivisto la documentazione di riferimento API. Potrete trovare informazioni dettagliate su tutti i Globali di Jest, i matcher e ogni flag supportato dalla CLI jest.

Il 2016 in Jest

· 9 min di lettura
Traduzione Beta Non Ufficiale

Questa pagina è stata tradotta da PageTurner AI (beta). Non ufficialmente approvata dal progetto. Hai trovato un errore? Segnala problema →

Il 2016 è stato un anno importante per il testing JavaScript con Jest. Nei primi sei mesi dell'anno abbiamo riscritto Jest e creato solide fondamenta per migliorare significativamente le prestazioni e l'esperienza degli sviluppatori nel testare codice JavaScript. Abbiamo tipizzato l'intera codebase con Flow, costruito numerosi test di integrazione per Jest stesso e adottato lerna per trasformare Jest da semplice framework in una piattaforma di Testing JavaScript senza sforzo.

Il nuovo react-test-renderer ha finalmente abilitato il testing dei componenti react-native. Tramite il preset jest-react-native (ora integrato direttamente in react-native) Jest funziona ora out-of-the-box per qualsiasi progetto React ed è preconfigurato in create-react-app e nei progetti react-native. Abbiamo integrato componenti chiave di Jest nel packager di react-native e l'innovativa funzionalità di snapshot testing è stata adottata anche al di fuori di Jest: è stata integrata in React Storybook come "storyshots" e sta venendo implementata in altri test runner come ava.

Jest 16.0: CLI Potenziato & Aggiornamento della Community

· 7 min di lettura
Traduzione Beta Non Ufficiale

Questa pagina è stata tradotta da PageTurner AI (beta). Non ufficialmente approvata dal progetto. Hai trovato un errore? Segnala problema →

È passato un mese dall'ultima major release e da allora abbiamo apportato significativi miglioramenti a Jest. In questa major release aggiorniamo il formato degli snapshot, cosa che probabilmente richiederà di aggiornarli quando si passerà a Jest 16. Non prendiamo queste decisioni alla leggera e non ci aspettiamo che accada spesso, ma riteniamo necessario migliorare periodicamente il formato.

CLI Potenziato

reporter

Jest 16 introduce una nuova interfaccia per i reporter che mostra i test in esecuzione, un riepilogo in tempo reale e una barra di avanzamento basata sui tempi di esecuzione stimati dai precedenti run. Abbiamo anche migliorato l'output della CLI per una migliore compatibilità con diversi schemi di colori. Se ci sono stati test falliti in un'esecuzione precedente, Jest ora li eseguirà sempre per primi per fornire rapidamente feedback utili agli utenti.

Jest 15.0: Nuove Impostazioni Predefinite per Jest

· 9 min di lettura
Traduzione Beta Non Ufficiale

Questa pagina è stata tradotta da PageTurner AI (beta). Non ufficialmente approvata dal progetto. Hai trovato un errore? Segnala problema →

Nell'ultimo anno abbiamo reso Jest più veloce, più facile da configurare, abbiamo aggiunto tantissime funzionalità e implementato lo snapshot testing. Tuttavia, abbiamo dedicato poche risorse a due aree: l'output della CLI e l'esperienza utente. Con Jest 15 stiamo rivoluzionando il framework per renderlo più accessibile sia ai principianti che agli utenti esperti. Siamo entusiasti che il nostro investimento in Jest stia dando i suoi frutti: possiamo muoverci rapidamente e migliorare il framework per Facebook e la comunità open source alla velocità della luce. L'obiettivo di Jest è essere completo "out-of-the-box" e richiedere il minimo necessario di configurazione. Recentemente abbiamo avuto modo di spiegare la nostra filosofia in una issue di create-react-app.

La modifica più importante riguarda una serie di nuove impostazioni predefinite. Se sei un utente esistente di Jest, molto probabilmente dovrai aggiornare la tua configurazione per Jest 15. Nella maggior parte dei casi semplificherà la tua configurazione e Jest fornirà messaggi d'errore utili durante l'aggiornamento. Tutte le nuove impostazioni predefinite possono essere disabilitate in base alle tue esigenze, ma riteniamo ancora che le funzionalità disabilitate siano fondamentali per Jest in determinati scenari e continueremo a utilizzarle e supportarle a lungo termine in Facebook. La nostra documentazione API è stata completamente riscritta per riflettere questi cambiamenti. Questa pull request per React evidenzia alcune modifiche necessarie per i progetti esistenti.

Jest 14.0: Test degli Snapshot dell’Albero React

· 6 min di lettura
Traduzione Beta Non Ufficiale

Questa pagina è stata tradotta da PageTurner AI (beta). Non ufficialmente approvata dal progetto. Hai trovato un errore? Segnala problema →

Uno dei principi di Jest è offrire un'esperienza integrata "a configurazione zero". Vogliamo rendere il più semplice possibile scrivere test validi e utili. Abbiamo osservato che quando gli ingegneri hanno a disposizione strumenti pronti all'uso, finiscono per scrivere più test, il che si traduce in codebase stabili e sane.

Una delle grandi domande aperte era come scrivere test React in modo efficiente. Esistono molti strumenti come ReactTestUtils e enzyme. Entrambi sono ottimi e vengono utilizzati attivamente. Tuttavia, gli ingegneri ci hanno spesso detto di passare più tempo a scrivere un test che il componente stesso. Di conseguenza, molti hanno smesso completamente di scrivere test, portando infine a instabilità. Gli ingegneri ci hanno detto che volevano semplicemente assicurarsi che i loro componenti non cambiassero inaspettatamente.

Jest 13.0: Flow & REPL

· 3 min di lettura
Traduzione Beta Non Ufficiale

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.