Jest 13.0: Flow og REPL
This page was AI-translated by PageTurner (beta). Not officially endorsed by the project. Found an error? Report issue →
I dag er vi glade for å kunngjøre den neste store utgaven av Jest. Vi har gjort betydelige endringer i Jest som vil gagne både deg og Facebooks JavaScript-testinfrastruktur. Viktigst av alt har vi lagt til statiske typer i all Jest-kode under et nylig Jest-hackathon hos Facebook. Femten personer jobbet døgnet rundt for å legge til Flow-typer i Jest og implementere nye funksjoner. Flow-typene tjener to formål: For det første mener vi at kode skrives for å leses. Kode skrives vanligvis bare én gang, men leses av titalls mennesker over flere år. Statiske typer dokumenterer koden og forklarer deler av arkitekturen i Jest. For det andre gjør statiske typer vedlikehold enklere og lar oss refaktorere deler av Jest med større selvtillit uten frykt for feil.
Flow-prosjektet har utviklet seg mye hos Facebook og er nå i bruk i mange av rammeverkene våre og nesten all produktkode. Implementering kan parallelliseres utrolig godt – det kan gjøres fil-for-fil til nok av kodebasen er godt typet. Da leverer Flow reell verdi og veileder gjennom store endringer. Gjennom dette ble mange små edge cases og feil oppdaget.
Med hjelp fra lerna har vi fortsatt å modularisere Jest-prosjektet. Med bare en liten oppdatering av konfigurasjonen fungerer nå Flow og lerna godt sammen. Å dele opp Jest i pakker hjalp oss med å revurdere modulgrenser og gjorde det mulig å levere nyttige pakker som frittstående løsninger: Verktøyene jest-runtime og jest-repl lar deg nå kjøre skript i en sandkasset Jest-miljø, slik at du kan kjøre og feilsøke appen din fra kommandolinjen. Dette er spesielt nyttig for prosjekter som bruker Facebooks @providesModule-modulkonvensjon. For å komme i gang, installer bare jest-repl og kjør den i mappen du vanligvis kjører testene dine fra! Vi har også publisert en jest-changed-files-pakke som finner endrede filer i versjonskontroll for enten git eller hg, noe som er vanlig i utviklerverktøy.
Nye og forbedrede funksjoner
-
Lagt til et varslingsprogramtillegg som viser testkjøringsvarsel ved bruk av
--notify. -
Lagt til et
browserkonfigurasjonsalternativ for å korrekt løse npm-pakker med browser-felt ipackage.jsonnår du skriver tester for klientapplikasjoner. -
Forbedret "ingen tester funnet"-meldingen som nå rapporterer hvilke tester som ble funnet og hvordan de ble filtrert.
-
Lagt til
jest.isMockFunction(jest.fn())for å teste etter mockfunksjoner. -
Forbedret testrapporteringsutskrift og lagt til en testsammendrag for feil ved kjøring av mange tester.
-
Lagt til støtte for mocking av virtuelle moduler via
jest.mock('Module', implementation, {virtual: true}). -
Fjernet
.haste_cache-mappen. Jest bruker nå operativsystemets foretrukne midlertidige fillokasjon. -
Lagt til varighet for enkelttester i verbose-modus.
-
Lagt til mulighet for å ta opp øyeblikksbilder (snapshots) i Jest. Vi publiserer en egen bloggpost om denne funksjonen snart.
Til slutt har vi fått en komplett nettsideredesign av Matthew Johnston og lagt til dokumentasjon for bruk av Jest med webpack. God testing!
