Szczegóły ebooka

Testowanie aplikacji Java za pomocą JUnit

Testowanie aplikacji Java za pomocą JUnit

Radosław Sokół

Ebook

Testuj swój kod profesjonalnie — pisz testy jednostkowe!

  • Poznaj niezbędne narzędzia
  • Twórz testy jednostkowe
  • Korzystaj z technik TDD i TAD

Jednym z największych wyzwań współczesnej inżynierii oprogramowania jest zapewnienie właściwej jakości tworzonych produktów, którą można osiągnąć w dużej mierze dzięki odpowiedniej weryfikacji kodu. Odpowiedzią na potrzeby branży są testy automatyczne, a wśród najważniejsze to z pewnością testy jednostkowe. Nie tylko umożliwiają one ciągłe, bezproblemowe i szybkie sprawdzanie poprawności pisanego kodu, lecz również pozwalają wyeliminować regresję i poprawić jakość architektury tworzonych rozwiązań, a także stanowią dla nich doskonałą dokumentację.

Jeśli nie chcesz zostać w tyle, również Ty powinieneś zacząć pisać testy jednostkowe do swoich programów tworzonych w języku Java. Pomoże Ci w tym książka prezentująca koncepcję UT, bibliotekę JUnit, rozszerzenie AssertJ oraz biblioteki EqualsVerifier, Mockito i Google Guava. Poznasz dzięki niej sposoby pisania testów, refaktoryzowania kodu oraz imitowania działania funkcji i bazy danych. Dowiesz się też, jak w praktyce stosować metodyki TDD i TAD. A wszystkiego nauczysz się dzięki wziętym z życia przykładom oraz zadaniom do samodzielnego wykonania.

  • Tworzenie testów jednostkowych za pomocą biblioteki JUnit
  • Ścieżki kodu, pokrycie testami i refaktoryzacja kodu
  • Unikanie zależności za pomocą imitacji i zastosowanie Mockito
  • Płynne definiowanie testów za pomocą biblioteki AssertJ
  • Programowanie ukierunkowane na testy i wspomagane testami
  • Imitowanie baz danych przy użyciu rozwiązania Apache Derby

Popraw jakość swoich programów, korzystając z testów jednostkowych!

Wstęp (7)

Rozdział 1. Testy jednostkowe (11)

  • 1.1. Pierwszy przykład (12)
  • 1.2. Ścieżki kodu (13)
  • 1.3. Testy jednostkowe (17)
    • 1.3.1. Wykorzystanie biblioteki JUnit (18)
    • 1.3.2. Klasy testów (18)
    • 1.3.3. Szkielet klasy testu (18)
    • 1.3.4. Pierwsze testy (20)
    • 1.3.5. Uruchomienie testów (22)
    • 1.3.6. Raport z testów (24)
    • 1.3.7. Spodziewanie się sytuacji wyjątkowej (25)
    • 1.3.8. Cykl życia klasy testów (29)
    • 1.3.9. Inne założenia testowe (34)
    • 1.3.10. Ignorowanie testów (35)
    • 1.3.11. Pokrycie testami (36)
  • 1.4. Refaktoryzacja (38)
    • 1.4.1. Klasa poddawana refaktoryzacji (39)
    • 1.4.2. Testy (40)
    • 1.4.3. Klasa po poprawkach (45)
    • 1.4.4. Refaktoryzacja (48)
  • 1.5. Podsumowanie (49)

Rozdział 2. Imitacje (51)

  • 2.1. Klasy imitacji (52)
    • 2.1.1. Podstawy (53)
    • 2.1.2. Główny moduł aplikacji przed dostosowaniem do testów (57)
    • 2.1.3. Dostosowanie głównego modułu aplikacji do testów (58)
    • 2.1.4. Utworzenie imitacji klasy przechowywania danych (60)
    • 2.1.5. Testowanie głównego modułu aplikacji (61)
    • 2.1.6. Usuwanie usterek (64)
  • 2.2. Obiekty imitacji (65)
    • 2.2.1. Biblioteka Mockito (66)
    • 2.2.2. Najprostszy przykład wykorzystania (67)
    • 2.2.3. Imitacja modułu składowania danych ocen (72)
    • 2.2.4. Swobodne konfigurowanie obiektów imitacji (77)
    • 2.2.5. Zliczanie wywołań imitowanych metod (79)
    • 2.2.6. Tworzenie obiektów imitacji na bazie klas imitacji (81)
  • 2.3. Podsumowanie (84)

Rozdział 3. Płynne definicje testów (87)

  • 3.1. Biblioteka AssertJ (88)
  • 3.2. Budowanie kryteriów (88)
    • 3.2.1. Klasa przykładowa (88)
    • 3.2.2. Testy jednostkowe (89)
    • 3.2.3. Kompletna treść przykładu (99)
  • 3.3. Inne kryteria (102)
    • 3.3.1. Typy skalarne (102)
    • 3.3.2. Typy tablicowe i kolekcje (105)
  • 3.4. Podsumowanie (107)

Rozdział 4. Programowanie ukierunkowane na testy (109)

  • 4.1. Programowanie bazujące na kontraktach (110)
    • 4.1.1. Kontrakty wejściowe (110)
    • 4.1.2. Kontrakty wyjściowe (115)
  • 4.2. Programowanie ukierunkowane na testy (116)
    • 4.2.1. Projekt klasy (117)
    • 4.2.2. Testy jednostkowe (118)
    • 4.2.3. Uzupełnianie implementacji (121)
    • 4.2.4. Kompletna implementacja (124)
  • 4.3. Programowanie wspomagane testami (125)
    • 4.3.1. Interfejs klasy (126)
    • 4.3.2. Szkielet klasy (127)
    • 4.3.3. Implementacja i testy (128)
  • 4.4. Podsumowanie (145)

Rozdział 5. Imitowanie baz danych (147)

  • 5.1. Dołączanie Derby do projektu (148)
  • 5.2. Definiowanie testowej jednostki utrwalania (149)
  • 5.3. Tworzenie zarządcy utrwalania (150)
  • 5.4. Szkielet klasy testowej (151)
  • 5.5. Przykład wykorzystania (154)
    • 5.5.1. Klasa encji zakładki strony (154)
    • 5.5.2. Klasa usługi zarządzania zakładkami (159)
    • 5.5.3. Całość tekstu źródłowego (165)
  • 5.6. Podsumowanie (169)

Skorowidz (171)

  • Tytuł: Testowanie aplikacji Java za pomocą JUnit
  • Autor: Radosław Sokół
  • ISBN: 978-83-283-4363-4, 9788328343634
  • Data wydania: 2018-01-06
  • Format: Ebook
  • Identyfikator pozycji: teapja
  • Wydawca: Helion