Az Angular fejlesztőcsapat bejelentette, hogy az Angular 21-es verziójával a Vitest lesz az új alapértelmezett tesztelési keretrendszer, felváltva a korábban használt Jasmine és Karma kombinációt. Ez a váltás véget vet a közel két évig tartó bizonytalanságnak, amely a Karma 2023-as deprekálása óta uralkodott a fejlesztői közösségben.
Miért pont a Vitest?
Az Angular csapat döntését több tényező is indokolta. A Vitest böngésző módot kínál, amely pontosan úgy futtatja a teszteket, mint a korábbi Jasmine és Karma kombináció, ezzel biztosítva a zökkenőmentes migrációt. A Vitest TypeScript-első megközelítést alkalmaz és teljes mértékben támogatja az ESM-et, ami tökéletesen illeszkedik az Angular modern irányába.
A teljesítmény szempontjából a Vitest 10-20-szor gyorsabban futtatja a teszteket, mivel Node.js környezetben dolgozik happy-dom vagy jsdom használatával, kiküszöbölve a böngésző többletterhelését. A fejlesztői élményt tovább javítja a hot module reload funkció, amely azonnali visszajelzést biztosít a tesztek módosításakor.
Új lehetőségek és kihívások
Az Angular 21 Vitest integrációja számos modern tesztelési funkcióval bővíti a fejlesztők eszköztárát. Ezek közé tartozik a snapshot tesztelés, a fejlett import mock képességek és a párhuzamos teszt futtatás. Különösen érdekes újítás a HTML template lefedettség mérése, ami mostantól része a coverage jelentéseknek.
A váltás azonban kihívásokat is rejt magában. A Vitest mindig Zone.js nélkül fut az Angular-ban, ezért a korábban használt Zone.js tesztelési segédeszközök, mint a fakeAsync és tick már nem használhatók. Az érintett teszteket át kell strukturálni, gyakran aszinkron rutinokat szinkron mock-okkal helyettesítve.
Migráció és jövőkép
Bár a Vitest az új alapértelmezett tesztelési keretrendszer az új projektekhez, a Karma és Jasmine továbbra is teljes mértékben támogatott az Angular csapat által, így a meglévő projektek tulajdonosainak nincs sürgős migráció.
Az új projekteknél az `ng new` parancs futtatásakor automatikusan a Vitest kerül kiválasztásra, nem a Jasmine. A meglévő projektek esetében egy kísérleti migrációs segédeszköz áll rendelkezésre azok számára, akik szeretnének váltani.
Ez a lépés tovább erősíti az Angular pozícióját a modern webfejlesztési ökoszisztémában, különösen a Vite által dominált világban, ahol a Vitest már szinte minden frontend keretrendszerben standard. A váltás a fejlesztői produktivitás és a modern JavaScript ökoszisztémával való jobb kompatibilitás irányába mutat.
Forrás: ng-news (Medium) - https://medium.com/ng-news/ng-news-25-43-vitest-angulars-new-testing-framework-c4af76fef09f
A cikk AI segítségével készült, hiteles nemzetközi forrásokból származó információk alapján.