Wpis z mikrobloga

135 + 1 = 136

Tytuł: Testy jednostkowe. Zasady, praktyki i wzorce
Autor: Vladimir Khorikov
Gatunek: informatyka, matematyka
Ocena: ★★★★★★★

Gdybym chciał napisać książkę informatyczną, to testy jednostkowe byłyby jednym z ostatnich zagadnień, które bym rozważał. Umówmy się, mało komu chce się je tak naprawdę pisać, a tym bardziej czytać o nich książkę. Po przeczytaniu tych „Testów jednostkowych” mógłbym dodać, że nawet piszącym książkę o testach jednostkowych nie chce się zbytnio o nich pisać, bo wbrew tytułowi zawartość idzie trochę w innym kierunku. Stricte o testach jednostkowych jest tylko jedna trzecia książki, kolejna jedna trzecia to raczej propozycje refaktoryzacji istniejącego kodu produkcyjnego, a ostatnia to pomysły na testy integracyjne. Nie do końca pokrywa się to ze strukturą książki zaproponowaną przez autora, czyli czterema częściami, na które składa się łącznie kilkanaście rozdziałów, ale nie jest to wielkim problemem. Jeśli miałbym kierować jakiś zarzut do książki, to raczej taki, że przewodnia tematyka nie została całkowicie wyczerpana. Przykładowo, myślałem już, że nie będzie nic o testach parametryzowanych, ale na sam koniec pojawiają się nieco wepchnięte na siłę w jakimś przykładzie, chociaż w części teoretycznej są pominięte.

Pierwsze sto stron zawiera to, czego mógłbym się spodziewać, czyli przede wszystkim opis struktury testu i cechy dobrego testu. Autor dosyć mocno skupia się też na wyszczególnieniu różnicy między londyńską a detroidzką „szkołą” testów, czyli podejściem do mocków, bo detroidzka stara się ich unikać. Khorikov sam staje właśnie bardziej po stronie detroidzkiej i na przestrzeni całej pozycji argumentuje swoją pozycję. Najbardziej spodobał mi się środek książki, w którym znajdują się głównie kwestie dotyczące architektury całej aplikacji. Autor lobbuje za używaniem architektury heksagonalnej oraz podejścia funkcyjnego do pisania kodu, bo według niego sprawia to, że mamy silniej rozdzieloną logikę biznesową od pozostałych warstw aplikacji. Logika biznesowa nie posiada zewnętrznych zależności, przez co mamy mniej skutków ubocznych i tworząc testy danej funkcji możemy skupiać się wyłącznie na wyniku danej funkcji. Ta część książki zawiera też kilka porad ogólnych, jeśli chodzi o pisanie kodu, na przykład argumenty za tym, żeby nie tworzyć interfejsów, które mają wyłącznie jedną implementację. Ostatnie sto stron chyba najmniej mi podeszło, szczególnie rozdziały o testach integracyjnych, jednak na samym końcu znajduje się dodatek z antywzorcami testów jednostkowych, a niektóre z nich znalazłem u siebie, jak zależność od kontekstu środowiskowego przy pracy z czasem (LocalDate.now()).

Spodziewałem się mniej, ale generalnie książkę mogę polecić programistom, którzy mają jakieś doświadczenie i chcą przejść na poziom „średnio zaawansowany”. Czytanie „Testów jednostkowych” raczej nie jest przyjemnością, bo język jest mocno techniczny i suchy, ale myślę, że zawartość jest godna poznania. Chyba nawet wydawcy zdają sobie z tego sprawę, bo wrzucili jakiegoś losowego robota na okładkę.

Wpis dodany za pomocą tego skryptu

#bookmeter #readdev #ksiazki #programowanie #naukaprogramowania #czytajzwykopem #informatykabookmeter #matematykabookmeter
nightmaar - 135 + 1 = 136

Tytuł: Testy jednostkowe. Zasady, praktyki i wzorce
Autor:...

źródło: 856452-352x500

Pobierz
  • 2
@nightmaar no ja zacząłem to czytać i jakoś w okolicy setnej strony się zatrzymałem. Książka dość mocno pokrywa się z tym co mam w pracy, tylko my właśnie idziemy szkołą londyńską. Mi się spodobało tłumaczenie za co jaki test jest odpowiedzialny. Lepiej zrozumiałem gdzie testy jednostkowe się sprawdzają, a gdzie nie.