Użyteczność programowania funkcyjnego w testowaniu z biblioteką Phunc, specyfika, metodyka, niedogodności, testowanie
Biblioteka Phunc została stworzona wedle idei:
jedna klasa = jedna odpowiedzialność, jedna metoda, zdefiniowane wcześniej parametry wejściowe i wyjściowe (interface)
Specyfika
Contents
W praktyce daje to rezultat Single Responisbility i Dependency Injection
Użyteczność programowania funkcyjnego w testowaniu z metodyką Phunc
Korzyści programowania funkcyjnego
Dalsze korzyści to łatwiejsza implementacja nowych funkcjonalności, gdyż można łatwo korzystać z już istniejącego kodu,
gdyż jest stworzony w małych elementach, jak klocki, które nie trzeba konfigurować jak klasy z wieloma atrybutami, i uczyć się ich obsługi.
Tutaj wystarczy tylko dostarczyć odpowiedni typ danych, jego porawność definiuje walidacja w kontekście, więc jeśli istnieje to można w ciemno użyć kod który może być tworzony w innym miejscu i czasie a potem razem spięty z innym modułem.
Niedogodności
Niedogodnośći jakie powstaje przy stosowaniu tego rozwiązania wynikają bezpośrednio z języka PHP:
- brak wsparcia silnego typowania i programowania funkcyjnego
Aby stworzyć Nowy projekt z Phunc go Testować, potrzebne jest mniej czasu niż zwykle, na tworzenie unit testów.
Gdyż w naturalny sposób sklada się on z już istniejących mniejszych części, które mają swój unit test, więc testowany jest tylko nowy kod.
Samo stosowanie interfejsów daje jasne informacje o sposobie wielo-użycia kodu i wzorce do użycia jak klocki.
Ponadto łatwiejsze staje się koncepcyjne uchwycenie TDD i BDD, ponieważ operamy się o znane elementy i w ten sposób łatwiej je zdefiniować i zbudować całość.
Testowanie
polecam Codeception, poniżej trochę więcej informacji o tym jak do testowania przystąpić:
http://codeception.com/09-04-2015/using-codeception-for-symfony-projects.html