Mockowanie modułów i Fetch
Mockuj zewnętrzne moduły, wywołania fetch i moduły SvelteKit w testach jednostkowych.
Mockowanie modułów i Fetch to bezpłatna lekcja Sveltejs Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Sveltejs Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Sveltejs Academy zawiera 4 lekcji w sumie.
Dlaczego używać atrap
Testy powinny izolować testowaną jednostkę. Twórz atrapy zewnętrznych modułów, aby unikać wywołań sieciowych i niestabilnych testów.
vi.mock
Vitest udostępnia vi.mock do zastępowania modułów.
vi.mock("$lib/api", () => ({ getUser: () => ({ name: "Mock" }) }));Atrapa fetch
Użyj vi.spyOn(global, "fetch") lub biblioteki takiej jak msw, aby realistycznie tworzyć atrapy API.
vi.spyOn(global, "fetch").mockResolvedValue({ json: () => ({ items: [] }) });Podnoszenie modułów
Wywołania vi.mock są przenoszone na początek pliku. Umieszczaj je na jego początku.
Przywracanie atrap
Użyj vi.restoreAllMocks() w afterEach, aby posprzątać po teście.
MSW dla HTTP
Mock Service Worker przechwytuje żądania na poziomie sieci, zapewniając realistyczne działanie API w testach.
Tworzenie atrap modułów SvelteKit
Możesz tworzyć atrapy dla $app/stores, $app/navigation i innych importów SvelteKit na potrzeby izolowanych testów.
Atrapy bezpieczne typowo
Używaj vi.fn() z sygnaturami typowanymi, aby tworzyć szpiegi bezpieczne typowo.
Czyszczenie między testami
Używaj vi.clearAllMocks() lub konfiguracji w beforeEach, aby każdy test rozpoczynał się od czystego stanu.
Atrapowanie częściowe
Twórz atrapy tylko dla wybranych eksportów modułu, pozostawiając pozostałe w rzeczywistej postaci.
Rzeczywiste implementacje a atrapy
Nadmierne używanie atrap może pozbawić testy znaczenia. Tam, gdzie jest to rozsądne, testuj integrację z rzeczywistymi implementacjami.
Szybki test
Co robi vi.mock?
Podsumowanie
Używaj vi.mock i szpiegów do izolowania jednostek; rozważ MSW, aby realistycznie atrapować API na poziomie sieci.
Często zadawane pytania
Czy lekcja „Mockowanie modułów i Fetch” jest bezpłatna?
Tak — pełny tekst „Mockowanie modułów i Fetch” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Sveltejs Academy, przejdź na CoddyKit PRO. Kurs Sveltejs Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Mockowanie modułów i Fetch”?
Mockuj zewnętrzne moduły, wywołania fetch i moduły SvelteKit w testach jednostkowych. Ćwiczysz Sveltejs Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Sveltejs Academy?
Nie wymagamy żadnego doświadczenia. Sveltejs Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Mockowanie modułów i Fetch”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Sveltejs Academy?
Tak. Każda lekcja Sveltejs Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Konfiguracja Vitest dla projektów Svelte
- @testing-library/svelte: render i fireEvent
- Testowanie store'ów i reaktywności
- Mockowanie modułów i Fetch