Jacek Milewski: Testowanie kodu to bajka. Strategia taka, iż piszesz unity i integration.

youtube.com 7 miesięcy temu


Testowanie kodu to bajka. Strategia taka, iż piszesz unity i integration. Tak Ci powiedzieli. Hm, Strategia...

"Aha... Bo widzisz... ja mówię o testach integracyjnych między modułami, a Ty - między komponentami" - Powiedzieli sobie po godzinnej dyskusji nad Code Review. Po kolejnej godzinie okaże się iż integracja modułu i komponentu to zupełnie dwie różne bajki. Ale po kolei - najpierw niech dojdą do tego iż nie rozumieją nawzajem czym jest moduł a czym komponent.

Czy to naprawdę jest tak iż możemy pisać jedynie testy jednostkowe, integracyjne i e2e? No, to czym jest ten unit? A integracyjny to co z czym zintegrowane? A dlaczego to nie unit, skoro też pisze się w jUnit? Czy integracyjny to ten wolny, a unit to ten szybki? Dlaczego w zasadzie mówią aby rozdzielać Logikę Aplikacyjną od logiki domenowej skoro i tak obkładam to testem integracyjnym?

A w e2e końcówkami są wejścia i wyjścia klasy, komponentu, modułu, mikroserwisu, kontraktów czy całego systemu? A to w ogóle mamy jakieś komponenty i moduły? I co zrobi tester? Dla okiełznania chaosu zduplikuje nasze przypadki testowe i na podniesionym wielgachnym systemie na siódmej stronie formularza w automacie spróbuje wpisać imię o jeden znak za długie. Nie ma to jak drogi zestaw testów który jest stabilnie czerwony przez podstawową walidację.

Aj... przestań już! Boli! Chaos!

Z tym testowaniem to już tak jest. jUnit jest prosty, AssertJ również, choćby Spock. Do ogarnięcia tutorialem. I tak zostajemy sami z rozrzuconymi narzędziami. Ale jak to poskładać... sensownie... trzeba by przyjąć jedną ze strategii testowania. Czekaj! to można mieć strategię?! choćby kilka?... To nie ma jednej słusznej piramidy?! Pokaż!

Pokażę! Ale wyjdźcie z ustalonych ram i przygotujcie się na coś nowego.

🔥 [4Developers 2024] https://eventory.cc/event/4developers-2024
👉 [FB] https://www.facebook.com/4Developers
👉 [LI] https://www.linkedin.com/showcase/4developers