Proč Vitest
POZNÁMKA
Tato příručka předpokládá znalost Vite. Doporučujeme si přečíst Průvodce Proč Vite a zhlédnout Nástroje pro frontend nové generace s ViteJS, stream, na kterém Evan You předvedl demo vysvětlující hlavní koncepty.
Potřeba nativního testovacího runneru pro Vite
Vite podporuje běžné webové vzory, nabízí funkce jako globální importy a SSR primitiva a díky mnoha pluginům a integracím udržuje živý ekosystém. Jeho vývojové prostředí a proces sestavení jsou klíčové pro jeho úspěch. Pro dokumentaci existuje několik alternativ založených na SSG, které jsou poháněny Vite. Situace kolem jednotkového testování ve Vite však nebyla jasná. Stávající možnosti jako Jest byly vytvořeny v jiném kontextu. Mezi Jestem a Vite je mnoho duplicit, což nutí uživatele konfigurovat dva různé pipeline.
Použití vývojového serveru Vite k transformaci souborů během testování umožňuje vytvořit jednoduchý runner, který se nemusí zabývat složitostí transformace zdrojových souborů a může se soustředit pouze na poskytování nejlepšího vývojářského zážitku (DX) během testování. Testovací runner, který používá stejnou konfiguraci vaší aplikace (prostřednictvím vite.config.js
), sdílí společný transformační proces během vývoje, sestavení a testování. Je rozšiřitelný stejným API pluginů, které vám a správcům vašich nástrojů umožňují poskytovat prvotřídní integraci s Vite. Nástroj, který je od počátku navržen pro Vite, využívající jeho vylepšení vývojářského zážitku (DX), jako je jeho okamžité Hot Module Reload (HMR). Tím je Vitest, testovací framework nové generace poháněný Vite.
Vzhledem k širokému přijetí Jesta poskytuje Vitest kompatibilní API, které vám umožňuje použít jej jako přímou náhradu ve většině projektů. Zahrnuje také nejběžnější funkce potřebné při konfiguraci jednotkových testů (mocking, snapshots, coverage). Vitest klade velký důraz na výkon a používá Worker vlákna k maximálnímu paralelnímu spouštění. Některé migrace zaznamenaly spouštění testů o řád rychleji. Režim sledování je standardně povolen, což je v souladu s tím, jak Vite prosazuje vývojářský zážitek. I přes všechna tato vylepšení vývojářského zážitku (DX) zůstává Vitest lehký pečlivým výběrem svých závislostí (nebo přímým začleněním potřebných částí).
Cílem Vitestu je stát se preferovaným testovacím nástrojem pro projekty Vite a jako solidní alternativa i pro projekty, které Vite nepoužívají.
Pokračujte ve čtení v Průvodci Začínáme
Jak se Vitest liší od X?
Více podrobností o tom, jak se Vitest liší od jiných podobných nástrojů, naleznete v sekci Srovnání.