Przejdź do głównej zawartości

55. Testowanie jednostkowe PHP — PHPUnit, asercje i izolacja

Testowanie jednostkowe PHP

Test jednostkowy to fragment kodu sprawdzający działanie jednej, izolowanej jednostki (funkcji lub metody klasy). PHPUnit to de facto standard testowania PHP. Testy pozwalają wykrywać błędy automatycznie i refaktoryzować kod bez strachu.

  • Testy są wymagane w każdej profesjonalnej firmie IT
  • TDD (Test-Driven Development) zmienia sposób projektowania kodu
  • PHPUnit jest częścią standardowego zestawu narzędzi Laravel i Symfony
  1. Wyjaśnić czym jest test jednostkowy i co testuje
  2. Opisać strukturę testu PHPUnit (Arrange-Act-Assert)
  3. Omówić najważniejsze asercje
  4. Pokazać jak izolować zależności przez mocki
  1. Definicja testu jednostkowego — jednostka = funkcja lub metoda
  2. PHPUnit — instalacja przez Composer, uruchamianie
  3. Struktura klasy testowej: extends TestCase, metody test*
  4. Asercje: assertEquals, assertTrue, assertNull, assertCount, assertThrows
  5. Zasada AAA: Arrange (przygotuj), Act (wykonaj), Assert (sprawdź)
  6. Co testować: logika biznesowa, walidacja, edge cases
  7. Izolacja: mocki i stuby — $this->createMock()

Przykład 1

Kompletna klasa testowa dla funkcji obliczeniowej

Przykład 2

Test z oczekiwanym wyjątkiem (expectException)

Przykład 3

Mock zależności zewnętrznej (np. klasy pliku)
  1. Wstęp — po co testować?
  2. Test jednostkowy — definicja i cel
  3. PHPUnit — instalacja i uruchamianie
  4. Struktura testu (AAA)
  5. Asercje z przykładami
  6. Mocki i izolacja
  7. Co testować (i czego nie)
  8. Podsumowanie i bibliografia

Napisz test dla swojego projektu!

Weź funkcję z projektu semestralnego i napisz dla niej test. Opisz to w opracowaniu — to najlepszy materiał.