Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHPUnit] Testowanie klas abstrakcyjnych - czy w ogóle to robić?
czychacz
post
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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
vokiel
post
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.

Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 28.12.2025 - 17:05