Testowanie Jest

Dzisiaj rozpoczniemy zabawę z testami jednostkowymi. Już trochę doświadczenia z JESTem mam, ale zaczniemy zgodnie z naturalnym biegiem spraw… Od początku!

Test jednostkowe (tzw. unit testy) są to testy sprawdzające malutkie części kodu: najczęściej funkcje lub/i metody. Każdy test jest niezależny od poprzedniego oraz w jak najmniejszym stopniu opiera się na zewnętrznych zależnościach (wręcz nie powinno ich być!). Test może zakończyć się sukcesem lub porażką (ang. fail).

npm i --save-dev jest to dobry początek, potem w package.json można podpiąć npm test do polecenia jest, którym uruchamiamy testy.

Tworzymy folder tests, a potem plik mytest.test.js.

Nazewnictwo jest tutaj kluczowe, bowiem domyślnie JEST szuka testów w wszystkich plikach w projekcie o rozszerzeniu *.test.js. Jest to szalenie wygodne.

Odpalamy!

Teraz sprawdźmy czy wszystko działa 🙂

W pliku mytest.test.js utwórzmy sobie test, który zawsze będzie przechodził. W JEST testy definiuje się bardzo prosto: funkcją test.

Jej pierwszym argumentem jest opis testu, kolejnym funkcja w której wywołujemy expect sprawdzającą poprawność wartości. W tej chwili pominiemy wszystkie inne aspekty.

test('3 is equal to 3', () => {
    expect(3).toBe(3);
});

Powyższy test sprawcza czy 3 === 3.

Teraz w konsoli puszczamy komendę jest lub `npm test`, jeśli wpisaliśmy polecenie do package.jsona. Wynik?

> storyportal@1.0.0 test /home/kamila/Dokumenty/StoryPortal
> jest

 PASS  tests/first.test.js
  ✓ adds 1 + 2 to equal 3 (6ms)

Test Suites: 1 passed, 1 total
Tests:       1 passed, 1 total
Snapshots:   0 total
Time:        2.332s
Ran all test suites.

Pełen sukces!