Testy jednostkowe laravel czy warto

0

Mam takie pytanie czy warto się zabierać za testy jednostkowe laravel, czy one coś dają bo to co się dowiedziałem to testują czy dany kod się nie wysypie tylko tyle zrozumiałem i dalej mam problem jak tego używać, wiem tylko tyle, że się ten test uruchamia przez ./vendor/bin/phpunit, ale tam nie moge wkleić czystego kodu bo się nie uruchomi bo próbie zaimportowania kasy np takie

new App\User;

Jest komunikat nie można zaimportowac klasy

Ale najpierw chcę usłyszeć od was czy warto marnowac czas na te testy jednostkowe ?

0

Czy warto pisać testy jednostkowe? Głupie pytanie :D Oczywiście, że warto! W projekcie typu "hello world" takie testy będą pewnie zbędne, a co najmniej śmieszne, ale w przypadku aplikacji biznesowych to często dobrze napisane testy ratują życie programistom. Tutaj jednak tkwi haczyk - co to znaczy napisać dobre testy? Otóż, nie chodzi o to aby były zrobione po linii najmniejszego oporu, ale aby faktycznie sprawdzały różne (idealnie: wszystkie możliwe) przypadki użycia danego kawałka kodu.

1

Czasami tylko za pomocą testów do się sprawdzić, czy coś działa poprawnie. Jak do tego dochodzą integracyjne to w 1 sekundę testujesz system, który ręcznie testowałbyś 2 tygodnie. A testować możesz kilkanaście razy na godzinę :)

Tu próbka moich testów:
https://github.com/ccwrc/design_patterns_practice/blob/master/tests/unit/Facade/InternetTest.php

I jak ktoś zrobi mi CR będę wdzięczny ;)

0

O stary, bez testów jednostkowych można się zakopać przy większym projekcie (zresztą... przy mniejszym także). Sam powiedz, czy lepiej za każdym razem sprawdzać gros warunków w GUI czy może lepiej odpalić automat, który Ci te warunki sprawdzi w kilka sekund?

Myślę, że znasz odpowiedź na to pytanie.

0

Ja swojego czasu kupiłem w early access ten kurs: https://course.testdrivenlaravel.com/
Teraz jest w opór drogi, ale jak Ci się uda naciągnąć szefa... :D

0

Testy (nie tylko jednostkowe) mają jeszcze tę zaletę, że wymuszają na Tobie użycie odpowiednich wzorców. Jeśli napiszesz metodę albo klasę, której nie da się przetestować w miarę łatwo, bo zawiera sporo logiki i np. pobierania i obrabiania danych z zewnątrz na bieżąco, to oznacza, że masz ją napisaną źle. Tak samo jak zbyt grube kontrolery.
Możesz nawet nie pisać masy testów, który pokrywają różne przypadki użycia i służą do wykrycia błędów w działaniu, jednak napisanie co najmniej jednego testu potrafi zmienić sposób patrzenia na to, jak działa cała klasa.

1 użytkowników online, w tym zalogowanych: 0, gości: 1