Używam TDD od 2 lat i tam, gdzie wtedy pracowałem, wszyscy niechętnie korzystali z nich, w tym menedżerowie, jednak wkrótce okazało się to właściwe. Korzyści, które wkrótce zauważyliśmy, to:
- Odkrywanie błędów na wczesnym etapie.
- Pisanie lepszego kodu, nawet nie zdając sobie z tego sprawy.
- Twój kod jest teraz łatwiejszy w utrzymaniu, ponieważ ze względu na twoje testy wszystko jest w małych porcjach (mieliśmy funkcje, które były 300-400 linii) głupie. Teraz maksymalnie 30 i wszystkie osobno przetestowane.
Menedżerowie nie wiedzieliby, ponieważ wszyscy są zainteresowani jedną rzeczą: „Skończyłeś”. Ale narzekają, gdy oprogramowanie ciągle się psuje, nie zdając sobie z tego sprawy. Z dobrym zasięgiem i rozsądnymi testami. Nie chodzi o ilość, ale o jakość, którą naprawdę widać, gdy ktoś psuje funkcjonalność. Niestety, jest to trudne, jeśli jesteś sam. Miałem ten sam problem, ponieważ może być konieczna zmiana kodu, np. Klas podstawowych itp., Aby umożliwić testowanie części oprogramowania.
Podaję przykład. Chciałem wyśmiewać repozytorium, ale nie było interfejsu i muszę wstrzyknąć repozytorium do mojej warstwy usług, a zatem dodać / zmodyfikować konstruktor w całym sklepie, okazało się, że to wielka sprawa, ale w na koniec mam ponad 200 testów testujących tylko jeden obszar systemu i byli pod wrażeniem.
Zazwyczaj wykonuję następujące czynności:
- Trzymam moje najczystsze rzeczy bardzo krótko
- Tylko 1 aser. Brak rosyjskiej ruletki.
- Testuję scenariusz pozytywny - negatywny i wyjątkowy
Jeśli chodzi o studia przypadków, obawiam się, nie jestem pewien, czy je widziałem. Musisz zbudować swój projekt i stać się studium przypadku, może też być pod wrażeniem.
Mam nadzieję, że to pomoże