Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Interfejsy ułatwiają testy jednostkowe. Dlaczego?
szczrzcz
post 24.04.2017, 14:41:29
Post #1





Grupa: Zarejestrowani
Postów: 153
Pomógł: 0
Dołączył: 20.04.2017
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Czytam: Interfejsy ułatwiają testy jednostkowe.

W jakim sensie?

W dublerach (mock, stub) i tak muszę zdefiniować użyte metody (i/lub co zwracają), a dla reszty metod zwracany jest null.
Go to the top of the page
+Quote Post
Crozin
post 24.04.2017, 17:22:45
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


W przypadku PHP nie są one może niezbędne jak w niektórych platformach, ale nadal mają kilka zalet.

1. Zamiast wykorzystywać mocki/stuby w testach możesz skorzystać z "głupich implementacji", a w przypadku jakiś usług operujących na zew. zasobach z implementacji operujących w pamięci. Czy to samo da się osiągnąć przy pomocy wspomniach mocków/stubów? Generalnie tak, ale z wygodą często nie ma to nic wspólnego.
2. Rozsądnie zaplanowane interfejsy - czyli takie z małą liczbą metod - pozwalają na zmniejszenie liczby zależnośći. Często można mieć klasę implementującą kilka interfejsów. W momencie gdy testujemy coś wymagającego tylko jednego interfejsu tej klasy zmniejsza się liczba metod które wymagają mocków/stabów.
3. Poleganie na tym, że "dla reszty metod zwracany jest null" jest bardzo niebezpieczne na dłuższą metę i sprawia, że Twoje testy muszą mieć jakąś świadomść wewnętrznej implementacji testowanej klasy - a to lekko negatywnie wpływa na stabilność samych testów.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 17.04.2024 - 00:36