The Art of Unit Testing

Deutsche Ausgabe

Roy Osherove

Übersetzung aus dem Englischen von Olaf Neuendorf

Teil IV: Design und Durchführung

Diese abschließenden Kapitel behandeln die Probleme, denen Sie begegnen, sowie die Methoden, die Sie benötigen werden, wenn Sie das Unit Testing in eine bestehende Organisation oder in vorhandenen Code einführen wollen.

In Kapitel 9 werden wir uns mit dem schwierigen Thema der Implementierung von Unit Tests in einer Organisation beschäftigen und Methoden diskutieren, die Ihnen den Job erleichtern können. Dieses Kapitel gibt Antworten auf einige schwierige Fragen, die sich häufig bei der ersten Implementierung des Unit Testings stellen.

In Kapitel 10 werden wir uns verbreitete Probleme im Zusammenhang mit Legacy-Code und einige Tools für den Umgang damit ansehen.

Kapitel 11 beschäftigt sich mit einer häufigen Diskussion um das Unit Testing. Sollte die Testbarkeit ein Design-Ziel sein? Was ist testbares Design überhaupt?

In diesem Teil:

Teil III: Der Testcode

Dieser Teil des Buches behandelt die Techniken zum Verwalten und Organisieren von Unit Tests, um sicherzustellen, dass die Qualität von Unit Tests in den alltäglichen Projekten hoch ist.

Kapitel 7 beschäftigt sich zunächst mit der Rolle des Unit Testings als Teil eines automatisierten Build-Prozesses. Dann folgen verschiedene Techniken zur Organisation der unterschiedlichen Arten der Tests in Bezug auf Kategorien (Geschwindigkeit, Typ), mit dem Ziel, das zu erreichen, was ich die »sichere grüne Zone« nenne. Es erklärt auch, wie man eine Test-API oder die Test-Infrastruktur für die eigene Anwendung »wachsen« lässt.

In Kapitel 8 werden wir einen Blick auf die drei wesentlichen Säulen von guten Unit Tests werfen – Lesbarkeit, Wartbarkeit und Vertrauenswürdigkeit – und erkunden die Techniken, die das unterstützen. Wenn Sie nur ein Kapitel dieses Buches lesen würden, dann sollte es Kapitel 8 sein.

In diesem Teil:

Teil II: Zentrale Methoden

Nachdem ich in den vorangegangenen Kapiteln die Grundlagen behandelt habe, werde ich nun die zentralen Test- und Refactoring-Methoden einführen, die notwendig sind, um praxistaugliche Tests zu schreiben.

In Kapitel 3 beginne ich mit den Stubs (»Stummel«, »Stumpf«) und Sie lernen, wie sie dabei helfen, Abhängigkeiten zu durchbrechen. Anschließend gehen wir zu den Refactoring-Methoden über, die den Code leichter testbar machen, und Sie lernen etwas über die Seams (»Nähte«, »Nahtstellen«) innerhalb des Prozesses.

In Kapitel 4 geht es weiter mit den Mock-Objekten (»Attrappen«) und dem Interaction Testing und wir werfen einen Blick darauf, wie sich Mock-Objekte von Stubs unterscheiden, und ich werde auf das Konzept der Fake-Objekte eingehen.

In Kapitel 5 werden Sie sich Isolation-Frameworks (auch als »Mocking-Frameworks« bekannt) anschauen und ergründen, wie sie das sich wiederholende Codieren in handgeschriebenen Mock-Objekten und Stubs vermeiden helfen. Kapitel 6 vergleicht ebenfalls die wichtigsten Isolation-Frameworks für .NET und verwendet für einige Beispiele FakeItEasy, um die API für verschiedene verbreitete Use Cases zu demonstrieren.

In diesem Teil:

Teil I: Erste Schritte

Dieser Teil des Buches behandelt die Grundlagen des Unit Testings.

In Kapitel 1 werde ich definieren, was eine Unit ist und was »gutes« Unit Testing bedeutet und ich werde das Unit Testing mit dem Integration Testing vergleichen. Anschließend werfen wir einen kurzen Blick auf das Test-Driven Development und dessen Rolle in Bezug auf das Unit Testing.

In Kapitel 2 werden Sie damit loslegen, Ihren ersten Unit Test mithilfe von NUnit zu schreiben. Sie werden die grundlegende API von NUnit kennenlernen und Sie werden sehen, wie Asserts verwendet und wie Tests mit dem NUnit Test Runner durchgeführt werden.

In diesem Teil:

Impressum

Bibliografische Information der Deutschen Nationalbibliothek

Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über <http://dnb.d-nb.de> abrufbar.

ISBN 978-3-8266-8722-8

2. Auflage 2015

www.mitp.de

E-Mail: mitp-verlag@sigloch.de

Telefon: +49 7953 / 7189 - 079

Telefax: +49 7953 / 7189 - 082

Übersetzung der amerikanischen Originalausgabe: Roy Osherove: The Art of Unit Testing: With Examples in C#, Second Edition, ISBN 978-1617290893.

Original English language edition published by Manning Publications, 178 South Hill Drive, Westampton, NJ 08060 USA. Copyright © 2013 by Manning Publications. German edition copyright © 2015 by mitp Verlags GmbH & Co. KG. All rights reserved.

© 2015 mitp-Verlags GmbH & Co. KG

Dieses Werk, einschließlich aller seiner Teile, ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlages unzulässig und strafbar. Dies gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen.

Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften.

Lektorat: Sabine Schulz

Sprachkorrektorat: Petra Heubach-Erdmann, Maren Feilen

Coverbild: © Sebastian Duda, Bildnummer 33776850

electronic publication: III-satz, Husby, www.drei-satz.de

Dieses Ebook verwendet das ePub-Format und ist optimiert für die Nutzung mit dem iBooks-reader auf dem iPad von Apple. Bei der Verwendung anderer Reader kann es zu Darstellungsproblemen kommen.

Der Verlag räumt Ihnen mit dem Kauf des ebooks das Recht ein, die Inhalte im Rahmen des geltenden Urheberrechts zu nutzen. Dieses Werk, einschließlich aller seiner Teile, ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen Grenzen des Urheherrechtsgesetzes ist ohne Zustimmung des Verlages unzulässig und strafbar. Dies gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und Einspeicherung und Verarbeitung in elektronischen Systemen.

Der Verlag schützt seine ebooks vor Missbrauch des Urheberrechts durch ein digitales Rechtemanagement. Bei Kauf im Webshop des Verlages werden die ebooks mit einem nicht sichtbaren digitalen Wasserzeichen individuell pro Nutzer signiert.

Bei Kauf in anderen ebook-Webshops erfolgt die Signatur durch die Shopbetreiber. Angaben zu diesem DRM finden Sie auf den Seiten der jeweiligen Anbieter.