w Praktyce
6 godz. 51 min · ReactJS · Full-stack i Programowanie
Adam RomanskiFrontend developer & YouTube CreatorNarzędzia typu ESlint, Prettier, Husky czy lint-staged niezmiernie pomagają nam w pracy. Problem jednak polega na tym, że ich konfiguracja bywa kłopotliwa. W tym kursie dowiesz się, jak poprawnie skonfigurować te narzędzia, tak, aby nie wchodziły ze sobą w konflikty i pomagały nam pisać lepszy kod.
Brzmi jak zły pomysł? Wcale nie! CSS in JS to rewolucyjne podejście, które pozwala nam tworzyć style bezpośrednio w komponentach. Dzięki bibliotece Styled Components możesz wpływać na ich stan, wygląd i wiele innych rzeczy. To niezwykłe narzędzie, wprowadzające powiew świeżości dla ludzi zmęczonych czystym CSS.
Dokumentowanie wyglądu i zachowania naszych komponentów bywa kłopotliwe. Jeśli jednak użyjemy odpowiednich narzędzi, staje się banalne! Storybook w połączeniu z podejściem atomic design pozwoli nam na stworzenie świetnie udokumentowanych komponentów.
React w Praktyce nie byłby... praktyczny, gdyby nie pokazanie tego, w jaki sposób rozwiązuje się problemy z layoutem aplikacji. Sidebary, szablony, powtarzalne komponenty – to wszystko poznasz w tym kursie.
Tworzenie store, czyli warstwy z danymi w naszej aplikacji dla wielu bywa wyzwaniem dość trudnym. Wynika to często z tego, że przykłady Reduxa bywają niepraktyczne. W tym kursie dowiesz się, w jaki sposób działa Redux – zaczniemy od podstaw, a skończymy na rozbudowanej strukturze danych. Dzięki temu zobaczysz, że nie taki Redux straszny jak go malują.
Aplikacja frontendowa bez backendu może istnieć, choć jej możliwości będą zdecydowanie ograniczone. A już na pewno będzie ona miała kiepską pamięć. Dlatego w tym kursie stworzymy lokalną wersję backendu połączoną z MongoDB na mLab. W ten sposób będziemy mogli dłużej przechowywać dane zapisane w naszych komponentach.
O testach można mówić wiele. To niezwykle rozległy temat, dlatego zanim zaczniesz je pisać na poważnie, chcę Ci pokazać jak możesz poćwiczyć podstawowe rzeczy. Poznasz narzędzie JEST, które odpowiada za uruchamianie testów, oraz wprowadzę Cię do react-testing-library, jednej z najpopularniejszych bibliotek do testowania aplikacji reactowych.
Ten kurs przeznaczony jest dla osób, które lada dzień będą aplikować na stanowiska juniorskie jako React developer. Zawarłem w nim wiele aspektów pracy z React, które zdarzają się w prawdziwej pracy. Ponadto skorzystać mogą z niego osoby, które znają inny framework JS i chcą nauczyć się Reacta, jednak kursy od podstaw są dla nich zbyt proste.
16.8.x
Cześć, w tym dziale chciałbym ci zajawić czym są testy w React'ie, jak
możemy pisać takie podstawowe testy, jak możemy skonfigurować nasze środowisko testowe
w naszej aplikacji i teraz chciałbym tylko na szybko ci opowiedzieć
jakie mamy takie podstawowe typy testów w naszych aplikacjach. Pierwszym
testem, który już od nas od bardzo dawna działa jest
tak zwany static code analysis i za to odpowiedzialny jest ESlint, to
ustawiliśmy sobie na samym początku i faktycznie pomaga nam w tym, żeby nasz
kot stał się nieco bardziej czysty czytelny i mniej podatny na błędy. Kolejnym
typem, którego jeszcze nie mamy jest unit test, czyli tak zwane testy
jednostkowe. Nie bez przyczyny ten stożek ma
właśnie taki kształt, ponieważ testy, które są na dole zajmują najwięcej
miejsca w naszej aplikacji, im wyżej jesteśmy tym tych testów jest
mniej. Ponadto jest jeszcze taka zasada, że im wyżej się znajdujemy
w tym droższe będą nasze testy, więc faktycznie
pod każdym względem droższe, ponieważ ESlint po pierwsze nie kosztuje
nas nic. Po drugie bardzo szybko działa, unit testy faktycznie
są bardzo tanimi testami, ponieważ nie musimy odpalać ich na żadnych aplikacjach, środowiskach,
mamy po prostu wewnętrzne skonfigurowane środowisko, które nazywa się jest, o tym za chwilkę,
ale też są dość szybkie, ich uruchomienie nie zajmuje zbyt
długo czasu. Kolejnymi testami, których jest już troszkę
mniej są testy integracyjne i dopiero jak wprowadzamy te testy integracyjne
do równania to łatwiej będzie mi wytłumaczyć czym są testy jednostkowe. Testy jednostkowe to
są wszystkie te testy, które testują nasze komponenty, które sprawdzają
czy komponent działa poprawnie, ale raczej są to takie rzeczy specyficzne
dla danego komponentu, a nie na przykład to jak komponent działa środowisku
z naszym API i tak dalej, więc tymi rodzajami testów
zajmiemy się w tym kursie, ponieważ to są takie podstawy testowania w React'ie, natomiast
bardziej zaawansowanym kursie, będą już na przykład testy integracyjne i będą
testy End to End. Teraz czym są testy integracyjne? Testy
integracyjne to są właśnie te testy, które sprawdzają integrację między różnymi
środowiskami naszej aplikacji, czyli na przykład to w jaki sposób nasz
frontend komunikuje się z API jak obsługuje błędy, czyli w ogóle obsługuje co
się stanie kiedy API wyśle nam coś bardzo dziwnego. To są właśnie
testy, które sprawdzają taką stabilność naszej aplikacji od strony integracji
z różnymi elementami zewnętrznymi i ostatnim typem testów,
który jest najdroższy, a tym samym jest go zdecydowanie najmniej to
testy End to End. Testy End to End polegają na tym, że odpalane są pewnych
takich symulatorach środowiskach, które sprawdzają jak
wizualnie wygląda nasz aplikacja, przepikują się przez nią dokładnie tak jak robi
to użytkownik i od początku do końca czyli właśnie end-to-end sprawdza
jak działa na przykład dodawanie notatek w naszej aplikacji i tego typu testy
odpalają się na przykład w jakim środowisku jak cypress, który właśnie pozwala nam
na konfigurowanie różnych operacji, które mają zostać wykonane przez ten
symulator i następnie on wykonuje każde z tych zadań i sprawdzał co
tam się dzieje przy okazji testując właśnie jak zachowuje się nasz frontend
i to tyle jeśli chodzi o taki krótki wstęp do testów, a w następnej
lekcji pokażę ci czym jest jest który będziemy używać do testowania naszego
frontend'u.