Przejdź do treści

Szkolenie Testy w Angularze

Napiszesz szybkie i stabilne testy komponentów, serwisów i routingu w aplikacji Angular.

  • Czas trwania: 3 dni
  • Poziom: średniozaawansowany
  • Forma: warsztat dla zespołu
Zapytaj o termin Pobierz program (PDF)

Testy w projektach Angularowych często psują się przy każdej zmianie, bo sprawdzają szczegóły implementacji, a do tego wiele z nich opiera się na Zone.js, fakeAsync i Karmie, od których Angular odchodzi. Po przejściu na runner Vitest fakeAsync i waitForAsync działają tylko z łatką Zone.js, a Angular zaleca przepisać je na natywny async i fałszywe zegary Vitest.

Na tym szkoleniu napiszesz testy komponentów, serwisów, formularzy i routingu, które sprawdzają zachowanie aplikacji, więc przetrwają refaktoryzację i kolejne wersje Angulara. Pracujesz na Angularze 22: standalone components, signals, zoneless, Signal Forms i httpResource. Migrację istniejącego projektu z Karmy omawia szkolenie Migracja Angulara.

Program

3 dni

  • Środowisko testowe
    • Co warto testować w aplikacji Angular
    • Vitest w Angular CLI (domyślny od wersji 21): konfiguracja i tryb przeglądarkowy
    • Istniejące testy w Jasmine i Karmie: co zmienia przejście na Vitest
    • Uruchamianie testów w pipeline CI z raportem pokrycia kodu
  • TestBed
    • Konfiguracja modułu testowego dla standalone components
    • ComponentFixture i wykrywanie zmian
    • Wykrywanie zmian bez Zone.js (domyślne od v21) i z OnPush (od v22)
    • Podmiana zależności przez providery
  • Testowanie komponentów
    • Wejścia i wyjścia: input(), output()
    • Signals i computed
    • Angular Testing Library: zapytania jak użytkownik
  • Harnessy z Angular CDK
    • Testowanie komponentów Angular Material
    • Własny harness dla komponentu
  • Serwisy i HTTP
    • Serwisy bez TestBed i z TestBed.runInInjectionContext
    • HttpTestingController i provideHttpClientTesting
    • Testowanie httpResource i resource()
  • Kod asynchroniczny
    • Fałszywe zegary Vitest i natywny async zamiast fakeAsync
    • fakeAsync i waitForAsync w istniejących testach: łatka Zone.js
    • Testy w aplikacji zoneless: whenStable i autoDetectChanges
    • Strumienie RxJS w testach komponentów i serwisów (testy marble omawiam na szkoleniu RxJS)
  • Formularze
    • Signal Forms: walidacja, błędy parsowania i stan pola
    • Walidacja asynchroniczna w Signal Forms
    • Reactive Forms w istniejącym kodzie
  • Routing
    • RouterTestingHarness
    • Guardy i resolvery

Dla kogo?

  • Dla programistów Angulara, którzy piszą mało testów albo żadnych.
  • Dla zespołów, w których testy psują się przy każdej zmianie w kodzie.
  • Dla zespołów, które przechodzą na zoneless i Vitest.

Co musisz umieć?

  • Pisać komponenty i serwisy w Angularze na poziomie codziennej pracy.
  • Znać podstawy RxJS i formularzy w Angularze.

Czego się nauczysz?

  • Skonfigurujesz Vitest w Angular CLI i uruchomisz testy w przeglądarce.
  • Skonfigurujesz TestBed dla standalone components i podmienisz zależności.
  • Przetestujesz komponent z signals z perspektywy użytkownika.
  • Przetestujesz formularz zbudowany na Signal Forms i na Reactive Forms.
  • Napiszesz testy serwisu HTTP i httpResource bez prawdziwego backendu.
  • Zastąpisz fakeAsync fałszywymi zegarami Vitest w aplikacji zoneless.
  • Użyjesz harnessów CDK do testów komponentów Angular Material.
  • Przetestujesz nawigację, guardy i resolvery przez RouterTestingHarness.
  • Uruchomisz testy w CI z raportem pokrycia kodu.

Trener

@piecioshka

Piotr Kowalski

W branży IT od 2008 roku. Od 2014 jest mentorem dla wielu developerów. Jako trener spędził na sali szkoleniowej kilka tysięcy godzin, a na LinkedIn ma 52 rekomendacje. Każde jego szkolenie to dawka solidnej wiedzy oraz humoru.

Więcej na stronie "O mnie"

Zorganizujmy to szkolenie w Twoim zespole

Napisz, z czym pracujecie i na jakim poziomie jest grupa. Odpowiem z propozycją programu dopasowanego do Waszego projektu.

Zapytaj o szkolenie Pobierz program (PDF) Zobacz wszystkie szkolenia