Deklaracja interfejsów zamiast klas pod testy jednostkowe |
Deklaracja interfejsów zamiast klas pod testy jednostkowe |
6.05.2024, 15:08:35
Post
#1
|
|
Grupa: Zarejestrowani Postów: 82 Pomógł: 0 Dołączył: 3.08.2017 Ostrzeżenie: (0%) |
Witam. Mam taką wątpliwość... Kiedyś przeczytałem artykuł na temat zasad SOLID. Autor sugerował, iż powinno się deklarować jako typy wartości (np. parametry i zwracana wartość metody) interfejsy i klasy abstrakcyjne zamiast konkretnych klas, aby kod był przystosowany pod testy jednostkowe z np. PHP Unit. Innym razem poznałem opinię, iż np. taki język programowania Pyton w ogóle nie ma interfejsów i nie ma sensu "onanizować się kodem".
Ostatnio przystosowałem moją starą przykładową aplikację do nowego framework'a Symfony 7. W trakcie programowania raz definiowałem, iż jakiś wstrzykiwany do kontrolera obiekt ma interfejs (np. "EntityManagerInterface"). Innym razem podawałem, iż jest danej klasy (np. "Environment"). Jak w kodzie poniżej: https://github.com/webeeq/toposoba.eeq/blob...aController.php I tu rodzi się moje pytanie. Czy jeśli nie mam zamiaru stosować w mojej aplikacji testów jednostkowych, to jednak pomimo tego kod powinien być przystosowany do ich stosowania? I gdzie deklarować interfejsy zamiast konkretnych klas, aby dało się testować taką aplikację z użyciem np. PHP Unit? |
|
|
Wersja Lo-Fi | Aktualny czas: 12.06.2024 - 07:50 |