Dlaczego Vitest
UWAGA
Ten przewodnik zakłada znajomość Vite. Dobrym punktem wyjścia do nauki jest przeczytanie Przewodnika Dlaczego Vite oraz obejrzenie Narzędzia frontendowe nowej generacji z ViteJS – streamu, w którym Evan You zaprezentował i wyjaśnił główne koncepcje.
Potrzeba natywnego narzędzia do uruchamiania testów dla Vite
Wbudowane wsparcie Vite dla typowych wzorców webowych, funkcje takie jak importy glob i prymitywy SSR, a także liczne wtyczki i integracje, wspierają rozwój dynamicznego ekosystemu. Jego podejście do rozwoju i budowy jest kluczem do sukcesu. Jeśli chodzi o dokumentację, istnieje kilka alternatyw opartych na SSG, wspieranych przez Vite. Jednak kwestia testowania jednostkowego w ekosystemie Vite nie była jasno określona. Istniejące opcje, takie jak Jest, zostały stworzone w innym kontekście. Istnieje wiele powieleń funkcjonalności między Jest a Vite, co zmusza użytkowników do konfigurowania dwóch różnych potoków.
Wykorzystanie serwera deweloperskiego Vite do transformacji plików podczas testowania pozwala na stworzenie prostego narzędzia do uruchamiania testów. Dzięki temu narzędzie to nie musi zajmować się złożonością transformacji plików źródłowych, a może skupić się wyłącznie na zapewnieniu najlepszego doświadczenia deweloperskiego (DX) podczas testowania. Jest to narzędzie do uruchamiania testów, które używa tej samej konfiguracji co Twoja aplikacja (poprzez vite.config.js
), współdzieląc wspólny potok transformacji podczas rozwoju, budowy i testowania. Jest rozszerzalne za pomocą tego samego API wtyczek, które pozwala Tobie i twórcom Twoich narzędzi zapewnić pełną integrację z Vite. Jest to narzędzie, które od początku jest budowane z myślą o Vite, wykorzystując jego ulepszenia w DX, takie jak natychmiastowe przeładowanie modułów (HMR). To jest Vitest, framework testowy nowej generacji zasilany przez Vite.
Biorąc pod uwagę masową adopcję Jest, Vitest zapewnia kompatybilne API, które pozwala używać go jako zamiennika w większości projektów. Zawiera również najczęściej wymagane funkcje podczas konfigurowania testów jednostkowych (mockowanie, migawki, pokrycie kodu). Vitest bardzo dba o wydajność i używa wątków Worker do uruchamiania jak największej liczby testów równolegle. W niektórych przypadkach zaobserwowano, że testy działają o rząd wielkości szybciej. Tryb watch jest domyślnie włączony, co jest zgodne z podejściem Vite, które promuje doświadczenie dewelopera. Nawet przy wszystkich tych ulepszeniach w DX, Vitest pozostaje lekki, starannie dobierając swoje zależności (lub bezpośrednio osadzając potrzebne fragmenty kodu).
Vitest ma na celu pozycjonowanie się jako preferowane narzędzie do uruchamiania testów dla projektów Vite, a także jako solidna alternatywa nawet dla projektów, które nie korzystają z Vite.
Dalsze informacje znajdziesz w Przewodniku „Pierwsze kroki”.
Czym Vitest różni się od X?
Więcej szczegółów na temat różnic między Vitest a innymi podobnymi narzędziami znajdziesz w sekcji Porównania.