Proč režim prohlížeče?
Motivace
Funkci režimu prohlížeče Vitest jsme vyvinuli s cílem zlepšit pracovní postupy testování a dosáhnout přesnějších a spolehlivějších výsledků testů. Tato experimentální funkce API pro testování umožňuje vývojářům spouštět testy v nativním prostředí prohlížeče. V této sekci prozkoumáme motivace za touto funkcí a její výhody pro testování.
Různé způsoby testování
Existují různé způsoby testování kódu JavaScript. Některé testovací frameworky simulují prostředí prohlížeče v Node.js, zatímco jiné spouštějí testy ve skutečných prohlížečích. V tomto kontextu je jsdom příkladem implementace standardu, která simuluje prostředí prohlížeče a používá se s testovacím runnerem jako Jest nebo Vitest, zatímco jiné testovací nástroje jako WebdriverIO nebo Cypress umožňují vývojářům testovat jejich aplikace ve skutečném prohlížeči, nebo v případě Playwright poskytují přímo prohlížečový engine.
Omezení simulace
Testování programů JavaScript v simulovaných prostředích, jako je jsdom nebo happy-dom, zjednodušilo nastavení testů a poskytlo snadno použitelné API. Tyto nástroje jsou vhodné pro mnoho projektů a zvyšují důvěru ve výsledky testů. Je však důležité mít na paměti, že tyto nástroje pouze simulují prostředí prohlížeče, nikoli skutečný prohlížeč, což může vést k určitým nesrovnalostem mezi simulovaným a skutečným prostředím. To může vést k falešně pozitivním nebo negativním výsledkům testů.
Pro dosažení maximální důvěry v naše testy je klíčové testovat ve skutečném prostředí prohlížeče. Proto jsme vyvinuli funkci režimu prohlížeče ve Vitest, která umožňuje vývojářům spouštět testy nativně v prohlížeči a získat přesnější a spolehlivější výsledky testů. S testováním na úrovni prohlížeče si vývojáři mohou být jistější, že jejich aplikace bude fungovat tak, jak má, v reálném scénáři.
Nevýhody
Při používání režimu prohlížeče Vitest je důležité zvážit následující nevýhody:
Raný vývoj
Funkce režimu prohlížeče Vitest je stále v raných fázích vývoje. Proto nemusí být ještě plně optimalizována a mohou se vyskytnout některé chyby nebo problémy, které ještě nebyly odstraněny. Uživatelům se doporučuje doplnit prohlížeč Vitest o samostatný testovací runner na straně prohlížeče, jako je WebdriverIO, Cypress nebo Playwright.
Delší inicializace
Prohlížeč Vitest vyžaduje spuštění poskytovatele a prohlížeče během procesu inicializace, což může nějakou dobu trvat. To může vést k delší době inicializace ve srovnání s jinými testovacími přístupy.