Poster taggade med ‘TDD’

The Art of Unit Testing

The Art of Unit TestingRoy Osherove har bloggat om enhetstestning på ISerializable sedan 2003 och jag har följt honom där från och till sedan jag skrev mitt första enhetstest för att antal år sedan. Konstigt nog hade jag till nyligen helt missat att han förra året släppte en bok om enhetstestning: ”The Art of Unit Testing with Examples in .NET”. Nu har jag dock läst den som en av mina böcker i Creuna Reading Rat och kan konstatera att Roy i boken på ett bra sätt lyckats samla och presentera sina kunskaper inom enhetstestning.

Boken är, som titeln antyder, inriktad på enhetstestning i .NET men kan säkert tilltala utvecklare i andra språk också. Den går genom enhetstestning hela vägen från vilka testramverk man kan använda och hur man installerar dem och kör sitt första test, till hur man integrerar enhetstestning i utvecklingsprocessen på sin arbetsplats med automatiserad testning och testprocesser.

Det är gott om kodexempel i boken, en fiktiv logganalyseringsapplikation används för att demonstrera aspekter av enhetstestning. Det ges ofta kodexempel både innan och efter refaktorering, ett bra sätt att demonstrera hur en design ofta förändras (och förhoppningsvis blir bättre) av att koden testas med enhetstester.

En av de saker jag uppskattade mest var de avsnitt som visar skillnader mellan stub och mock objects, när man ska använda det ena eller andra och, framförallt, varför. Jag kan ärligt erkänna att det där alltid varit lite luddigt för mig men efter att ha läst de kapitlen har det klarnat avsevärt. Det finns också mängder av bra småtips, som namngivningskonventioner och mönster man kan använda vid enhetstestning.

Det som kan dra ner upplevelsen lite är att boken tyvärr är dåligt redigerad och formgiven på sina ställen. Ett typsnitt som är misstänkt likt Comic Sans används frekvent och indenteringen i kodexemplen följer inga konventioner, ibland verkar rentav kod saknas. Detaljer måhända men ändå lite irriterande. Jag rekommenderar ändå utan tvekan boken till alla som vill börja med enhetstestning, framförallt om man ska göra det i .NET. Har man hållt på med enhetstestning ett tag kanske den första halvan är repetition, men det kan vara värt att läsa boken ändå då den är fylld med bra tips och idéer.