IT Narzędzie do testów

Jasmine

Definicja #

Jasmine to framework testowy dla JavaScriptu oparty na podejściu BDD (Behavior-Driven Development). Umożliwia pisanie testów jednostkowych i integracyjnych z czytelną, opisową składnią w języku naturalnym. Jasmine jest samodzielnym narzędziem — nie wymaga zewnętrznych bibliotek ani DOM.

Kluczowe elementy składni Jasmine:

  • describe() — grupuje powiązane testy w suity (bloki opisowe)
  • it() — definiuje pojedynczy test (specyfikację)
  • expect() + matchery — asercje: toBe(), toEqual(), toBeTruthy(), toContain(), toThrow()
  • beforeEach / afterEach — setup i teardown przed/po każdym teście
  • spyOn() — wbudowane szpiegowanie i mockowanie metod obiektów
  • Async support — obsługa testów asynchronicznych przez done callback lub async/await

Jasmine jest domyślnym frameworkiem testowym generowanym przez Angular CLI i ściśle współpracuje z runnerem Karma (uruchamianie testów w przeglądarce). W nowszych projektach Angular jest stopniowo zastępowany przez Jest, który oferuje szybsze wykonanie i lepsze wsparcie dla TypeScript.

Zastosowania #

  • Pisanie testów jednostkowych komponentów Angular — weryfikacja logiki, metod i właściwości komponentów
  • Testowanie serwisów Angular z mockowaniem zależności przez spyOn i jasmine.createSpyObj
  • Tworzenie testów integracyjnych sprawdzających współpracę wielu komponentów lub serwisów
  • Testowanie funkcji czystych JavaScript/TypeScript niezależnie od frameworka
  • Tworzenie testów asynchronicznych dla Promise i Observable w ekosystemie Angular/RxJS

Ścieżka nauki #

Jasmine najłatwiej poznać przez projekt Angular — każdy nowy projekt wygenerowany przez Angular CLI zawiera skonfigurowany Jasmine z Karmą. Oficjalna dokumentacja Angular Testing (angular.io/guide/testing) jest najlepszym punktem startowym, zawiera obszerne przykłady testowania komponentów, serwisów i pipe'ów.

Zacznij od prostych testów jednostkowych dla funkcji i klas, następnie przejdź do testowania komponentów Angular z TestBed. Naucz się używać spyOn do mockowania zależności i HttpClientTestingModule do mockowania HTTP. Poznaj jasmine.createSpyObj do tworzenia obiektów-atrap.

Zasoby: oficjalna dokumentacja jasmine.github.io, Angular Testing Guide, kurs "Testing Angular" Mathiasa Schäfera. Po opanowaniu Jasmine warto poznać Jest — ma podobną składnię, ale szybsze wykonanie i lepszą integrację z TypeScript, co czyni go preferowanym wyborem w nowych projektach.

Ostatnia aktualizacja:

Powiązane hasła

Technologie i biblioteki, które najczęściej pojawiają się razem z Jasmine w ogłoszeniach.

Cały słownik IT

Przeglądaj słownik IT alfabetycznie

Wybierz literę, aby zobaczyć wszystkie hasła zaczynające się od niej.