
Istotne. Będziemy wspominać o tym na początku każdego z warsztatów, żeby ułatwić Ci zrozumienie materiałów. Ten warsztat został nagrany w Java 17. Testy w tym warsztacie również odnoszą się do Java 17. Ma to o tyle znaczenie, że jeżeli będziesz korzystać z nowszych wersji Java, to teoretycznie mogły tam nastąpić jakieś kosmetyczne zmiany. Dlatego dla spójności, zalecamy korzystanie z JDK 17, żeby Twoje przykłady zachowywały się tak jak na nagraniach, ale nie zabraniamy korzystać z nowszego JDK. Pamiętajmy, że Java z założenia jest kompatybilna wstecznie, chociaż praktyka pokazuje, że twórcy czasem naginają tę zasadę. Do tematu aktualizacji wersji Javy i do mechanizmów wprowadzanych w nowszych wersjach języka wrócimy w dedykowanym warsztacie.
Jeżeli natomiast chodzi o wersje narzędzi, to struktura warsztatu została przygotowana w ten sposób, że bazowe mechanizmy JUnit (biblioteka, o której będziemy rozmawiać) są wyjaśnione na JUnit 5. Jeżeli w nowszych wersjach pojawią się funkcjonalności, które są istotne (naszym zdaniem) na tym poziomie nauki, to zakres warsztatu będzie rozszerzany i będziemy do niego dodawać kolejne materiały.
Zaczynamy od wyjaśnienia czym jest testowanie aplikacji i po co w ogóle testuje się aplikacje. W obrębie tego materiału dowiesz się, jakie są podstawowe rodzaje testów, czym się one charakteryzują i czym się różnią. Zapraszam do zapoznania się przygotowanymi przez nas zagadnieniami.
Zapraszam Cię na warsztat poświęcony testom jednostkowym w języku Java! Testowanie jednostkowe to kluczowy element procesu tworzenia oprogramowania, który pozwala na automatyczne sprawdzanie poprawności działania kodu. Mój kurs przeznaczony jest zarówno dla początkujących, jak i doświadczonych programistów, którzy chcą nauczyć się pisać skuteczne testy jednostkowe i zrozumieć, jak testy mogą poprawić jakość i stabilność aplikacji.
Tematyka warsztatu:
Czym jest testowanie? Po co się testuje?
Definicja testowania i jego rola w cyklu życia oprogramowania.
Rodzaje testów: jednostkowe, integracyjne, systemowe, akceptacyjne.
Korzyści płynące z testów jednostkowych: wczesne wykrywanie błędów, dokumentacja kodu, ułatwienie refaktoryzacji.
JUnit
Wprowadzenie do JUnit, najpopularniejszej biblioteki do testów jednostkowych w Javie.
Konfiguracja środowiska testowego.
Podstawowe adnotacje i konstrukcje w JUnit: @Test, @Before, @After, assertEquals, assertTrue, etc.
Przykłady pisania testów jednostkowych z użyciem JUnit.
Zasady pisania dobrych testów jednostkowych
Cechy dobrych testów jednostkowych: szybkie, izolowane, powtarzalne.
Pisanie testów zgodnie z zasadą FIRST (Fast, Independent, Repeatable, Self-validating, Timely).
Praktyczne wskazówki i najlepsze praktyki w pisaniu testów jednostkowych.
Pokrycie kodu testami
Co to jest pokrycie kodu testami i dlaczego jest ważne?
Narzędzia do mierzenia pokrycia kodu w Javie (np. JaCoCo).
Jak interpretować wyniki pokrycia i jak dążyć do optymalnego pokrycia kodu?
TDD (Test-Driven Development)
Wprowadzenie do TDD: zasady i filozofia.
Cykl TDD: Red-Green-Refactor.
Przykłady podejścia TDD w praktyce: pisanie testów przed kodem, refaktoryzacja.
Zadania praktyczne i projekt
Ćwiczenia praktyczne w pisaniu testów jednostkowych.
Praca nad projektem, który pozwoli na zastosowanie wiedzy w praktyce.
Zadania sprawdzające zrozumienie materiału i umiejętność pisania testów.
Wyobraź sobie, że napisaliśmy już dużo kodu, który działa i sprawdziliśmy ręcznie, że robi to, co powinien. Teraz chcemy zmodyfikować sporą część aplikacji. W jaki sposób możemy upewnić się, że nic nie popsuliśmy? Albo możemy zrobić to znowu ręcznie, albo napisać testy, które można rozumieć jak program testujący nasz program.
Warsztat ten jest ósmym warsztatem w ramach ścieżki Zajavka. Oczywiście możesz go realizować niezależnie od innych moich materiałów.
Ten warsztat został nagrany w Java 17. Testy w tym warsztacie również odnoszą się do Java 17. Ma to o tyle znaczenie, że jeżeli będziesz korzystać z nowszych wersji Java, to teoretycznie mogły tam nastąpić jakieś kosmetyczne zmiany. Dlatego dla spójności, zalecamy korzystanie z JDK 17, żeby Twoje przykłady zachowywały się tak jak na nagraniach, ale nie zabraniamy korzystać z nowszego JDK. Pamiętajmy, że Java z założenia jest kompatybilna wstecznie.
Jeżeli natomiast chodzi o wersje narzędzi, to struktura warsztatu została przygotowana w ten sposób, że bazowe mechanizmy JUnit (biblioteka, o której będziemy rozmawiać) są wyjaśnione na JUnit 5. Jeżeli w nowszych wersjach pojawią się funkcjonalności, które są istotne (naszym zdaniem) na tym poziomie nauki, to zakres warsztatu będzie rozszerzany i będziemy do niego dodawać kolejne materiały.