Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Warsztat Java #8 - Testy jednostkowe
Rating: 4.5 out of 5(1 rating)
12 students

Warsztat Java #8 - Testy jednostkowe

testy jednostkowe, Java, JUnit, testy, TDD
Last updated 1/2025
Polish

What you'll learn

  • Definicja testów jednostkowych i ich rola w cyklu życia oprogramowania.
  • Zrozumienie różnic między testami jednostkowymi, integracyjnymi, systemowymi i akceptacyjnymi.
  • Poznanie korzyści płynących z pisania testów jednostkowych, takich jak wczesne wykrywanie błędów, dokumentowanie kodu oraz refaktoryzacji i utrzymania
  • Konfiguracja środowiska testowego z użyciem JUnit.
  • Użycie podstawowych adnotacji w JUnit, takich jak @Test, @Before, @After.
  • Pisanie testów jednostkowych przy użyciu asercji, takich jak assertEquals, assertTrue, assertFalse.
  • Zarządzanie wyjątkami w testach i tworzenie testów parametrów.
  • Zrozumienie cech dobrych testów jednostkowych: szybkie, izolowane, powtarzalne, samosprawdzające się i terminowe.
  • Najlepsze praktyki w pisaniu testów jednostkowych, w tym jak unikać pułapek i błędów.
  • Czym jest pokrycie kodu testami i jak je mierzyć.
  • Narzędzia do analizy pokrycia kodu, takie jak JaCoCo.
  • Wprowadzenie do TDD i jego znaczenie w procesie tworzenia oprogramowania.
  • Pisanie testów przed implementacją kodu i stosowanie podejścia TDD w praktyce.

Course content

4 sections22 lectures6h 26m total length
  • Wstęp1:07
  • #1 Unit Testing - Intro29:03

    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.

  • #2 Testy - JUnit - Konfiguracja Maven oraz Gradle17:48
  • #3 Testy - JUnit - Pierwsze testy w Java21:55
  • #4 Testy - JUnit - Adnotacje Before... i After...18:11
  • #5 Testy - JUnit - Assertions31:28
  • #6 Testy - JUnit - Wyłączanie testów5:11
  • #7 Testy - JUnit - Testy parametryzowane9:09
  • #8 Testy - JUnit - Logback7:42

Requirements

  • Uczestnik powinien być zaznajomiony z podstawami programowania w Javie, w tym z koncepcjami takimi jak klasy, obiekty, interfejsy i wyjątki.
  • Kurs jest intensywny i wymaga aktywnego uczestnictwa oraz chęci do nauki nowych narzędzi i technik.

Description

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:

  1. 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.

  2. 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.

  3. 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.

  4. 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?

  5. 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.

  6. 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.

Who this course is for:

  • Początkujących programistów, którzy dopiero zaczynają swoją przygodę z testowaniem i chcą zrozumieć podstawy pisania testów jednostkowych.
  • Inżynierów QA i specjalistów ds. testowania, którzy pragną zrozumieć, jak programiści piszą testy jednostkowe i jak mogą współpracować przy tworzeniu bardziej niezawodnego oprogramowania.
  • Średniozaawansowanych deweloperów, którzy chcą pogłębić swoją wiedzę na temat testowania i nauczyć się stosować najlepsze praktyki w codziennej pracy.