Pragmatic Unit Testing in Java 8 with JUnit (Buchclub) – Anwendungsentwickler-Podcast #98
IT-Berufe-Podcast - A podcast by Stefan Macke - Lunedì
Categorie:
Das äußerst empfehlenswerte Buch „Pragmatic Unit Testing in Java 8 with JUnit“ wird im Buchclub in der achtundneunzigsten Episode des Anwendungsentwickler-Podcasts besprochen. Inhalt Das Buch ist meine absolute Empfehlung für jeden Azubi. Meine eigenen Azubis lesen es schon direkt im 1. Ausbildungsjahr, kurz nachdem sie ihre ersten Java-Aufgaben gelöst haben. Für mich gehört Unit-Testing einfach mit zur Ausbildung dazu und man kann gar nicht früh genug damit anfangen. Bislang waren die Rückmeldungen zum Buch sehr positiv. Alle Azubis haben es gut verstanden und konnten die Inhalte auch direkt in die Praxis umsetzen. Wir haben uns für das Durcharbeiten meistens ca. 2 Wochen Zeit genommen. Das Buch ist sehr verständlich geschrieben, enthält tolle Beispiele – und zwar endlich einmal auch in Java 8 – und ist dank des geringen Umfangs von knapp 200 Seiten sehr schnell zu lesen. Die Bücher aus dem Hause Pragmatic Programmers kann man eigentlich ausnahmslos empfehlen. Sie haben u.a. auch das „Standardwerk“ zum Einstieg in Ruby on Rails* oder POODR* veröffentlicht. Pragmatic Unit Testing in Java 8 with JUnit* reiht sich – meiner Meinung nach – hier perfekt ein. Grundlagen Das Buch führt auf knapp 50 Seiten zunächst in das Thema Unit-Tests ein und erklärt die Funktionsweise von JUnit. Schritt für Schritt wird ein lauffähiger Unit-Test erstellt und dabei werden auch die neuen Entwicklungen in JUnit berücksichtigt – also keine alten test*-Methoden mehr, sondern vernünftige Annotations. Dabei wird auch gleich das berühmte AAA zum Aufbau der Test-Methoden erläutert und @Before und @After eingeführt. Ich kann mir in Zukunft meine eigenen Erklärungen sparen und lasse meine Azubis diese ersten 50 Seiten lesen. Danach sollten sie alle wichtigen Begriffe und Ideen zum Thema Unit-Tests und Junit kennen 🙂 Das Buch startet mit einem schönen Überblick, warum man überhaupt testen sollte. Außerdem enthält es Schritt-für-Schritt-Anleitungen, um Unit-Test mit Eclipse zu erstellen. Im Anhang wird aber auch auf IntelliJ und Netbeans eingegangen, sodass man unabhängig von der konkreten IDE mitmachen kann. Die zu testenden Codebeispiele werden ebenfalls ausführlich erläutert. Es können also auch absolute Anfänger mitarbeiten. Als nächstes werden Assertions im Detail vorgestellt. Auch die Hamcrest-Matcher gehören dazu, um sprechende Tests zu schreiben, und die unterschiedlichen Möglichkeiten z.B. mittels Annotationen werden vorgestellt. Akronyme Der nächste Teil (ca. 40 Seiten) ist dann ganz den „Mnemonics“ gewidmet. Das hilft in der Praxis, ist aber nicht prüfungsrelevant. * FIRST: fast, isolated, repeatable, self-validating, timely. * Right-BICEP: right, boundary conditions, inverse relationships, cross-checking, error conditions, performance. * CORRECT: conformance, ordering, range, reference, existence, cardinality, time. Anhand dieser einprägsamen Akronyme geht Jeff Langr die Eigenschaften guter Unit-Tests durch und bringt den Lesern damit gleich bei, worauf sie bei der Programmierung ihrer Tests achten sollten, um keine falsche Sicherheit zu erreichen. Design Im dritten Teil (ca.