Skip to content
Vitest 1
Main Navigation ÚtmutatóAPIKonfigurációHaladó
1.6.1
0.34.6

magyar

English
简体中文
繁體中文
Español
Français
Русский
Português – Brasil
Deutsch
日本語
한국어
Italiano
Polski
Türkçe
čeština

magyar

English
简体中文
繁體中文
Español
Français
Русский
Português – Brasil
Deutsch
日本語
한국어
Italiano
Polski
Türkçe
čeština

Megjelenés

Sidebar Navigation

Útmutató

Miért a Vitest?

Első lépések

Funkciók

Munkaterület

Parancssori felület

Tesztszűrés

Reporterek

Lefedettség

Pillanatképek

Mockolás

Típusok tesztelése

Vitest UI

Böngésző mód

Forráskódba épített tesztelés

Tesztkörnyezet

Tesztkörnyezet

Egyezésvizsgálók kiterjesztése

IDE integrációk

Hibakeresés

Összehasonlítás más tesztfuttatókkal

Migrálási útmutató

Gyakori hibák

A teljesítmény javítása

API

Teszt API Dokumentáció

Mock függvények

Vi

expect

expectTypeOf

assert

assertType

Konfiguráció

A Vitest konfigurációs fájl beállítása

Vitest konfigurálása

Ezen az oldalon

Összehasonlítás más tesztfuttatókkal ​

Jest ​

A Jest vezető szerepet tölt be a tesztelési keretrendszerek között, köszönhetően a legtöbb JavaScript projekt azonnali támogatásának, a kényelmes API-nak (it és expect), és a legtöbb konfigurációhoz szükséges teljes tesztfunkcióknak (pillanatképek, mock-ok, lefedettség). Köszönet a Jest csapatának és közösségének a kiváló tesztelési API megalkotásáért, és a ma már webes szabvánnyá vált tesztelési minták bevezetéséért.

A Jest használható Vite környezetben is. A @sodatea által fejlesztett vite-jest célja, hogy első osztályú Vite integrációt biztosítson a Jest számára. A Jest korábbi korlátozásait megoldották, így ez egy érvényes lehetőség az egységtesztekhez.

Azonban egy olyan világban, ahol a Vite támogatja a leggyakoribb webes eszközöket (TypeScript, JSX, legnépszerűbb UI Framework-ök), a Jest felesleges komplexitást jelenthet. Ha az alkalmazásod Vite-ot használ, indokolatlan két külön folyamatot konfigurálni és karbantartani. A Vitest-tel a fejlesztési, buildelési és tesztelési környezetek konfigurációja egyetlen folyamatban definiálható, ugyanazokat a bővítményeket és a vite.config.js fájlt használva.

Még akkor is, ha a könyvtárad nem használja a Vite-ot (például, ha esbuild-del vagy Rollup-pal épül), a Vitest egy érdekes lehetőség, mivel gyorsabb futást kínál az egységtesztekhez, és jelentős fejlesztői élményt nyújt a Vite azonnali Hot Module Reload (HMR) funkcióját használó alapértelmezett figyelő módnak köszönhetően. A Vitest kompatibilitást kínál a Jest API és az ökoszisztéma könyvtárainak többségével, így a legtöbb projektben a Jest közvetlen helyettesítője lehet.

Cypress ​

A Cypress egy böngésző alapú tesztfuttató és egy kiegészítő eszköz a Vitest-hez. Ha szeretnéd használni a Cypress-t, javasoljuk, hogy a Vitest-et használd az alkalmazásod összes headless logikájához, a Cypress-t pedig a böngésző alapú logikához.

A Cypress végpontok közötti tesztelő eszközként ismert, de az új komponens tesztfuttatójuk nagyszerű támogatást nyújt a Vite komponensek teszteléséhez, és ideális választás minden böngészőben renderelődő elem tesztelésére.

A böngésző alapú futtatók, mint a Cypress, a WebdriverIO és a Web Test Runner, olyan problémákat fognak fel, amelyeket a Vitest nem tud, mert a valódi böngészőt és a valódi böngésző API-kat használják.

A Cypress tesztelési mechanizmusa arra összpontosít, hogy megállapítsa, hogy az elemek láthatóak, hozzáférhetőek és interaktívak-e. A Cypress kifejezetten a UI fejlesztésre és tesztelésre készült, és a DX a vizuális komponensek tesztvezérelt fejlesztésére összpontosít. A komponens a tesztjelentés mellett renderelve látható. A teszt befejezése után a komponens interaktív marad, és a böngésző fejlesztői eszközeivel hibakeresést végezhetsz a felmerülő hibákon.

Ezzel szemben a Vitest arra összpontosít, hogy a lehető legjobb DX-et biztosítsa a villámgyors, headless teszteléshez. A Node alapú futtatók, mint a Vitest, különböző részlegesen megvalósított böngészőkörnyezeteket támogatnak, mint például a jsdom, amelyek elegendő funkciót valósítanak meg ahhoz, hogy gyorsan egységtesztelhess bármilyen kódot, amely böngésző API-kat használ. A kompromisszum az, hogy ezeknek a böngészőkörnyezeteknek korlátai vannak abban, hogy mit tudnak megvalósítani. Például a jsdom-ból hiányzik számos funkció, mint például a window.navigation vagy egy layout engine (offsetTop stb.).

Végül, a Web Test Runner-rel ellentétben a Cypress tesztfuttató inkább egy IDE, mint egy tesztfuttató, mert a valódi renderelt komponenst is látod a böngészőben, a teszteredményekkel és a naplókkal együtt.

A Cypress is integrálta a Vite-ot a termékeibe: újraépítve az alkalmazásuk UI-ját a Vitesse segítségével, és a Vite-ot használva a projektjük fejlesztésének tesztvezérelt fejlesztéséhez.

Úgy gondoljuk, hogy a Cypress nem a legjobb választás a headless kód egységtesztelésére, de a Cypress (E2E és komponens teszteléshez) és a Vitest (egységtesztekhez) használata lefedheti az alkalmazásod tesztelési igényeit.

WebdriverIO ​

A WebdriverIO a Cypress-hez hasonlóan egy böngésző alapú alternatív tesztfuttató és egy kiegészítő eszköz a Vitest-hez. Használható end-to-end tesztelő eszközként, valamint webkomponensek tesztelésére is. Még a Vitest komponenseit is használja a háttérben, például a mock-oláshoz és a stub-oláshoz a komponens teszteken belül.

A WebdriverIO ugyanazokkal az előnyökkel jár, mint a Cypress, lehetővé téve a logika valódi böngészőben történő tesztelését. Azonban tényleges webes szabványokat használ az automatizáláshoz, ami kiküszöböli a Cypress-ben történő tesztelés során felmerülő kompromisszumokat és korlátozásokat. Ezenkívül lehetővé teszi a tesztek futtatását mobilon is, így még több környezetben is tesztelheted az alkalmazásodat.

Web Test Runner ​

A @web/test-runner egy headless böngészőben futtatja a teszteket, így ugyanazt a futtatókörnyezetet biztosítja, mint a webalkalmazásod anélkül, hogy az API-kat vagy a DOM-ot ki kellene mockolnod. Ez lehetővé teszi a hibakeresést egy valódi böngészőben a fejlesztői eszközök segítségével, bár nincs felhasználói felület a tesztenkénti léptetéshez, mint a Cypress tesztekben.

Ha a @web/test-runner-t egy Vite projekttel szeretnéd használni, használd a @remcovaes/web-test-runner-vite-plugin bővítményt. A @web/test-runner nem tartalmaz állításellenőrző vagy mocking könyvtárakat, így ezeket neked kell hozzáadnod.

uvu ​

Az uvu egy tesztfuttató a Node.js és a böngésző számára. A teszteket egyetlen szálon futtatja, így a tesztek nincsenek elkülönítve, és átterjedhetnek a fájlok között. A Vitest azonban munkaszálakat használ a tesztek elkülönítésére és párhuzamos futtatására.

A kód átalakításához az uvu a require és a loader hook-okra támaszkodik. A Vitest a Vite-ot használja, így a fájlok a Vite bővítményrendszer teljes kapacitásával dolgoznak. Egy olyan világban, ahol a Vite támogatja a leggyakoribb webes eszközöket (TypeScript, JSX, legnépszerűbb UI Framework-ök), az uvu felesleges komplexitást jelenthet. Ha az alkalmazásod Vite-ot használ, indokolatlan két külön folyamatot konfigurálni és karbantartani. A Vitest-tel a fejlesztési, buildelési és tesztelési környezetek konfigurációja egyetlen folyamatban definiálható, ugyanazokat a bővítményeket és ugyanazt a konfigurációja fájlt használva.

Az uvu nem rendelkezik intelligens figyelő móddal a megváltozott tesztek újrafuttatásához. Ezzel szemben a Vitest a Vite azonnali Hot Module Reload (HMR) funkcióját használó alapértelmezett figyelő módnak köszönhetően kiváló DX-et biztosít.

Az uvu egy gyors lehetőség egyszerű tesztek futtatására, de a Vitest gyorsabb és megbízhatóbb lehet összetettebb tesztek és projektek számára.

Pager
Előző oldalHibakeresés
Következő oldalMigrálási útmutató

A MIT licenc alapján kiadva.

Copyright (c) 2024 Mithril Contributors

https://v1.vitest.dev/guide/comparisons

A MIT licenc alapján kiadva.

Copyright (c) 2024 Mithril Contributors