Testy jednostkowe. Po co to komu?
Cześć. Dzisiaj opowiem trochę o testach jednostkowych. Zapraszam!
Czym są testy jednostkowe?
Testy jednostkowe to nic innego jak metoda testowania wytwarzanego oprogramowania, polegająca na pisaniu metod testujących określone jednostki kodu. Jednostkami mogą być na przykład metody lub klasy.
Po co są testy jednostkowe?
Skoro już wiesz, czym są testy, to teraz pewnie zastanawiasz się, po co w ogóle te testy są.
Piszesz projekt, który wymyśliłeś/wymyśliłaś dla samego siebie, ewentualnie dodasz na githuba i po co Ci tutaj testy? No może w prostym projekcie, który tworzysz sam(a), to testy nie są potrzebne.
Wyobraź sobie sytuację, w której tworzysz wraz z innymi programistami projekt, każdy dodaje coś od siebie, zamienia itp. lub tworzysz sam, ale dość duży projekt.
Testy jednostkowe pozwolą Ci testować, czy dana funkcja lub klasa działa w taki sposób, w jaki miała zostać zaprojektowana, na przykład jest metoda, która pobiera sobie jakiegoś arraya, w którym są przecinki i musi sprawdzić, czy coś się nie powtarza. Piszesz test, który będzie to testował i wskazywał 100% pokrycia, w przypadku pozytywnego testu. Później jednak jakiś programista coś zmienił i zamiast arraya przychodzi string. Wtedy test się nie zgadza i nie musisz szukać dlaczego, tylko masz podane jak na tacy co, jak, z czym i dlaczego tak.
Nie ma czasu na pisanie testów
Doprawdy? Owszem, mogę się zgodzić, że pisanie testów może być czasochłonne, ponieważ musisz poświecić za każdym razem dodatkowy czas na pisanie testu, ale uwierz mi, że w przyszłości ten czas się zwróci. Tym bardziej, jak jest tworzony projekt z kilkoma programistami, którzy są na różnym poziomie i czasami wpadnie jakaś gafa.
Podsumowanie
Testy są naprawdę ważną rzeczą, jeżeli tworzysz większy projekt lub nie tworzysz go sam. Sztuką nie jest napisać testy, które będą pokrywały się za każdym razem w 100%, ale sztuką jest napisać takie testy, które wskażą błąd, jeżeli on faktycznie się pojawi.
Jeżeli tworzysz projekt dla klienta, to również wypadałoby owe testy napisać. Dlaczego? Być może w przyszłości klient będzie chciał coś dodać i poprosi o to innego programistę, który z odpowiednimi testami będzie mógł ewentualnie zobaczyć błędy podczas wdrażania swojego kodu.
A czy Ty piszesz testy jednostkowe? Podziel się swoją odpowiedzią w komentarzu poniżej. Zapraszam Cię również do odwiedzenia moich socialmedia, które znajdziesz po prawej stronie. Dzięki nimi będziesz na bieżąco z nowymi wpisami, które być może pomogą Ci się rozwijać. Cześć!