Chi si occupa di unit testing, indifferentemente se in ambiente .NET o altro, non può non conoscere Roy Osherove, una vera autorità in materia
ed autore della prima edizione di questo libro, che è stato un vero e proprio best-seller nel suo settore.
In questa seconda edizione, datata ormai novembre 2013, l’autore rivede alcune sue idee alla luce delle ultime innovazioni in ambito tecnologico e, soprattutto,
in base alla sua esperienza professionale.
Il target di riferimento del libro è sempre il medesimo: sviluppatori già abbastanza esperti che però conoscano poco o nulla di come si faccia un test unitario
e di come si sviluppi tenendo a mente la metodologia “test-first”.
Come dice il titolo del libro, gli esempi sono esclusivamente in C# (senza nessun riferimento alle sue versioni ed utilizzando comunque un C# basilare),
mentre la teoria e i numerosi consigli che fornisce sono applicabili in tutti gli ambiti.
L’autore, oltre alle indispensabili spiegazioni tecniche (utilizzando NUnit la maggior parte delle volte), cerca di far comprendere lo scopo dello unit testing,
perché va applicato, come, ed anche come non abusarne.
Lo stile è sempre molto colloquiale, forse un po’ prolisso in alcune parti, ma estremamente utile appunto per i consigli di “prima mano” che l’autore fornisce.
Fisicamente il libro è strutturato ed impaginato bene, come si può vedere dalle due foto sottostanti.
In alcuni esempi di codice, però, sembra la indentazione sia andata un po’ fuori fase (ma nulla di grave comunque).
Le immagini sono pochissime, e non ci sono riferimenti a Visual Studio (ognuno utilizzerà l’IDE che preferisce).
Il libro non è grossissimo, sono circa 250 pagine, e la sua suddivisione in 11 capitoli aiuta il lettore nella sua lettura
(un capitolo al giorno, ad esempio, è un’operazione fattibilissima).
Da questo
sito, è possibile scaricare diversi video (gratuiti) sul TDD e sul Refactoring, molto utili ed interessanti.
Sul
sito dell’autore, ci sono parecchi altri video di elevata qualità, ma questi sono a pagamento (con prezzi dai 15 ai 600 dollari).
Insomma, un ottimo libro per conoscere le basi, e non solo, dello unit testing, oltre ad avere una chiara ed informata panoramica di quanto offre il mercato
informatico per questo settore.
Sommario
1 – Part 1: Getting Started
3 – Cap. 1: The basics of unit testing
19 – Cap. 2: A first unit test
47 – Part 2: Core Techniques
49 – Cap. 3: Using stubs to break dependencies
75 – Cap. 4: Interaction testing using mock objects
90 – Cap. 5: Isolation (mocking) frameworks
109 – Cap. 6: Digging deeper into isolation frameworks
123 – Part 3: The Test Code
125 – Cap. 7: Test hierarchies and organization
151 – Cap. 8: The pillars of good unit tests
187 – Part 4: Design and Process
189 – Cap. 9: Integrating unit testing into the organization
207 – Cap. 10: Working with legacy code
219 – Cap. 11: Design and testability