Mock, Stub, Fake i Spy: Test Doubles Wyjaśnione

Test dla place_order potrzebuje bramki płatności, klienta SMS i kalkulatora podatku. Podłącz prawdziwe zależności i każde uruchomienie testu obciąży kartę i wyśle SMS na prawdziwy numer. Test jednostkowy ma działać w milisekundach, bez sieci, więc wszystkie trzy trzeba czymś zastąpić. To “coś innego” ma pięć odmian, każda rozwiązuje inny problem, a traktowanie ich jako wymienne jest powodem, dla którego spory “po prostu zmockuj to” w code review nie mają końca. ...

2 listopada 2026 · 7 min · 1455 słów · SpaghettiCoder

Czym Jest TDD i Jak Działa Cykl Red-Green-Refactor

Test napisany po kodzie zwykle sprawdza to, co kod robi, a nie to, co miał robić. Programowanie sterowane testami (TDD) naprawia to, odwracając kolejność: piszesz test, patrzysz, jak nie przechodzi, a potem piszesz najmniejszy możliwy kod, który sprawia, że test przechodzi. Ponieważ test istnieje przed kodem, który sprawdza, nie może po cichu uznać za poprawne tego, co akurat zwróci kod. Kent Beck sformalizował ten cykl jako red, green, refactor w swojej książce z 2002 roku Test-Driven Development: By Example. Nazwa się przyjęła. ...

18 października 2026 · 6 min · 1277 słów · SpaghettiCoder

Testy Jednostkowe vs Integracyjne vs End-to-End

Funkcja może mieć 100% pokrycia testami jednostkowymi, a strona, która ją wywołuje, i tak może zwrócić w produkcji błąd 500. To nie jest sprzeczność. Testy jednostkowe, integracyjne i end-to-end sprawdzają różne rzeczy, a zestaw testów mocny w jednym i słaby w drugim ma konkretną, przewidywalną dziurę. Co sprawdzają testy jednostkowe, integracyjne i end-to-end Weźmy funkcję rejestracji: funkcja waliduje dane wejściowe, zapisuje wiersz w bazie danych i wysyła email powitalny. Trzy testy mogą to pokryć, każdy odpowiada na inne pytanie. ...

29 września 2026 · 10 min · 2010 słów · SpaghettiCoder