Bereits vor einiger Zeit bin ich über eine Podcast-Episode von Deep Fried Bytes (Episode 73: Developing Real World Applications with TDD with James Bender and Jeff McWherter) auf das Buch Professional Test Driven Development with C#: Developing Real World Applications with TDD* von James Bender und Jeff McWherter aufmerksam geworden und habe es mir gleich für den Kindle* zugelegt.
Und da ich hier im Blog nicht nur „Werbung“ für Java machen will, stelle ich das Buch heute als tolle Alternative zu Pragmatic Unit Testing in Java 8 with JUnit für C# vor 🙂
Verschiedene Frameworks
Die Autoren liefern mit diesem Buch einen Rundumschlag zur testgetriebenen Softwareentwicklung mit C#. Zusätzlich zu den theoretischen Hintergründen von TDD und der agilen Softwareentwicklung werden anhand eines konkreten Beispielprojekts verschiedenste Frameworks (NUnit für die Unit-Tests, NBehave für Business Driven Development, Ninject für Dependency Injection, Moq für Stubs und Mocks usw.) mit Schritt-für-Schritt-Anleitungen eingeführt. Der dabei entstehende Code mag auf den ersten Blick recht umfangreich sein (allein mehrere Klassen und Methoden für den ersten Test), aber das Design ist praxistauglich und leicht erweiterbar.
Prinzipien und Praktiken
Das Buch ist gespickt mit allerlei zusätzlichen Einführungen und Tipps rund um die agile Softwareentwicklung. Seien es die SOLID-Prinzipien, Refactoring, User Stories oder Code Smells: das Buch ist voll von einsteigertauglichen Erklärungen und Beispielen. Sehr gut gefallen hat mir der Teil über die Strukturierung der C#-Projekte und ihrer Abhängigkeiten in Visual Studio. Hilfreich sind auch die zusätzlichen Kapitel über das Testen von WCF– und WPF-Anwendungen. Hierbei werden sofort konkrete Beispiele mit Bezug zum Beispielprojekt gegeben, die sich direkt in der Praxis anwenden lassen. Dabei wird darauf geachtet, dass in den Tests von der Infrastruktur (Services bzw. GUI) abstrahiert wird und Stubs bzw. Mocks für schnelle und wiederholbare Tests zum Einsatz kommen.
Fazit
Ich empfehle dieses Buch definitiv meinen Auszubildenden und Studenten als Literatur zum Einstieg in das Thema Unit-Tests mit C#! Bislang habe ich kein besseres Buch dafür gefunden.
Mit knapp 300 Seiten ist es schnell gelesen und bietet dafür einen wirklich umfangreichen Inhalt. Vom Einstieg ins Testen, über professionelles Vorgehen bei der Entwicklung bis hin zu tiefergehenden Themen wie Mocking und Dependency Injection ist alles dabei.
Auch wenn es bereits ein wenig älter ist (erschienen 2011), ist der Inhalt immer noch praxisrelevant. Die genannten allgemeinen Prinzipien werden aber wohl auch nicht so schnell an Bedeutung verlieren. Und wenn sich in den verwendeten Frameworks etwas geändert hat (was natürlich durchaus sein kann), wird man das als Entwickler wohl mit Hilfe des Internets hinbekommen 😉
Kennst du das Buch? Wie bewertest du es? Hast du weitere Literaturempfehlungen im Bereich TDD, C# oder sogar beiden zugleich?
Neueste Kommentare