Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 189 Pomógł: 13 Dołączył: 20.09.2008 Skąd: Lublin Ostrzeżenie: (0%)
|
Pytanie od człowieka, który jakiś czas temu zaczął bawić się testowaniem aplikacji z PHPUnit:
Czy powinienem testować klasy abstrakcyjne? Teoretycznie podczas testu mógłbym tworzyć klasę, która dziedziczy po abstrakcyjnej, ale czy jest sens, skoro i tak testuję klasy pochodne? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%)
|
Masz na myśli pewnie testy jednostkowe.
Są dwie drogi, jedni mówią, żeby testować tylko poprzez publiczne API. Inni żeby w testach jednostkowych testować każdą najmniejszą część (klasy abstrakcyjne, metody prywatne/chronione) bezpośrednio. W obu przypadkach przetestujesz taką metodę, czy to klasy abstrakcyjnej, czy po prostu protected/private. Bezpośrednio może być łatwiej i czytelniej, pośrednio może to wymagać ciut więcej pracy (zależy od tego jak rozbudowany jest kod wykorzystujący te metody). Różnica jest jeszcze w ilości pracy potrzebnej na utrzymanie kodu i testów w dłuższym czasie. Gdy testujesz prywatne/chronione/abstrakcyjne poprzez publiczne API to po ich zmianach może się okazać, że modyfikacja testów nie będzie potrzebna. Gdy testuje się te metody bezpośrednio, to zwykle takiej opcji nie ma. |
|
|
|
czychacz [PHPUnit] Testowanie klas abstrakcyjnych - czy w ogóle to robić? 27.05.2017, 17:51:11
lukaskolista Testuje się interface (publiczne metody) z prosteg... 29.05.2017, 09:49:43 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 17:05 |