< Wróć do szkoleń IT

Szkolenie JUnit dla zaawansowanych

calendar

TERMIN

Ustalamy indywidualnie

clocl

CZAS

24h / 3 dni

money

CENA

Ustalamy indywidualnie

photo

JUnit 5 to framework nowej generacji do tworzenia automatycznych testów jednostkowych w technologii Java, oferujący wiele ciekawych funkcji, takich jak np. testy parametryzowane, wstrzykiwanie zależności, całkowite wsparcie dla Javy 8, czy w końcu nowe API, umożliwiające łatwiejsze niż kiedykolwiek rozszerzanie możliwości frameworka i dostosowanie go do potrzeb projektowych. Frameworki takie jak JUnit 5 wykorzystywane są dzisiaj nie tylko w testach jednostkowych. Mają również szerokie zastosowanie w testach wyższego poziomu, w tym w testach funkcjonalnych

Dla kogo jest to szkolenie?

Szkolenie jest dedykowane wszystkim, którzy chcą zdobyć lub poszerzyć swoją wiedzę na temat testów jednostkowych, frameworków JUnit 5 oraz Mockito 2 oraz najlepszych praktyk i konwencji w tworzeniu testów jednostkowych.

pattern

pattern
pattern pattern

Czego nauczysz się na szkoleniu?

  • Dowiesz się jak tworzyć dobre testy jednostkowe.

  • Nauczysz się korzystać z frameworka JUnit 5 i Mockito 2.

  • Dowiesz jak tworzyć testy zgodnie z najlepszymi praktykami i konwencjami.

  • Nauczysz się sprawdzania poprawności kodu, wyłapywania i naprawiania błędów.

Program szkolenia

  • Dzień: 1

    JUnit 5 

    • Teoria testów jednostkowych 
    1.  Motywacja do pisania testów jednostkowych 
    2.  Zasady pisania dobrych testów 
    3.  Dobre praktyki, powszechne błędy – tak naprawdę ten punkt będzie przewijał się przez całe szkolenie
    • Trzy podstawowe narzędzia – JUnit5, Mockito, AssertJ
      Powtórka i rozwinięcie najpopularniejszej kombinacji narzędzi spotykanej przy pisaniu testów jednostkowych w Javie. 
    1. Wstęp do architektury JUnit 
    2. Podpięcie JUnit do projektu 
    3. Mockito – dlaczego jest ważne, jak poprawnie z niego korzystać, mniej popularne funkcjonalności przydatne w codziennej pracy
    4. AssertJ – najczytelniejsza biblioteka do asercji w Javie
    • JUnit 5 – advanced
    1.  Assumptions 
    2. Lifecycle – omówienie dwóch dostępnych rodzajów 
    3. Repeated i Nested tests – use cases 
    4. Testy parametryzowane – różne rodzaje parametryzacji 
    5. Praca z plikami 
    6. Wstrzykiwanie do metod testowych – wstęp do ExtensionModel 
    • Extension Model – deep dive
    1. Build-in extensions 
    2. Jak pisać własne rozszerzenia 
    3. W jaki sposób współdzielić powtarzalny kod między testami przy pomocy rozszerzeń
    • JUnit in Real Life 
    1. Konfiguracja JUnit 5 z Maven / Gradle 
    2. Optymalizacja czasu wykonania testów 
    3. Generowanie raportów i integracja z CI / CD 
    4. Migracja JUnit 4 -> JUnit 5
  • Dzień: 2

    JUnit 5 i Spring Boot 

    • Czym testy kontekstu Spring Boota różnią się od typowych testów jednostkowych
    1.  Kiedy wystarczy nam zwykły test, a kiedy powinniśmy postawić kontekst Spring Boota
    • Wsparcie Spring Boota do pisania testów
    1. Adnotacja @SpringBootTest
    2. Konfiguracja testowa + test properties 
    3. Bean Mocks 
    4. Testy z uruchomionym serwerem 
    5. MockMvc 
    6. Slice tests
    • Testowanie integracji z bazą danych
    1. Jak dostarczyć bazę danych dla testów
    2. Jak jednostkowo testować interakcje z bazą danych 
    3. Kiedy testować jednostkowo, a kiedy integracyjnie 
    4. Jak testować kod, który wymaga transakcji
    • Integracja ze Spring Security
  • Dzień: 3

    Zewnętrzne narzędzia 

    • Wiremock 
    1. Testowanie integracji z innymi serwisami
    2. TestWebClient vs TestRestTemplate
    3. Testy integracyjne Wiremock
    • TestContainers – co oferują i kiedy warto skorzystać
    • Contract Tests – demo 
    • Powtórzenie i podsumowanie materiału
    • Ostatni projekt

     

pattern

Trener

Przemysław Wołosz

Key Account Manager

Telefon

+48 730 830 801

Porozmawiajmy o szkoleniu

Wypełniając formularz zgadzasz się na przetwarzanie Twoich danych w celu udzielenia odpowiedzi na wysłaną przez Ciebie wiadomość
Administratorem danych osobowych jest infoShare Academy sp. z o.o., który dane osobowe przetwarza zgodnie z Klauzulą informacyjną.