Neulich bin ich auf der Suche nach einem Single-Page-(Web-)Application-Framework auf die empfehlenswerten Präsentationen von Matt Raible gestoßen. Dabei entdeckte ich, dass er der Gründer von AppFuse ist. AppFuse stellt sich mir als eine Art Template-Mechanismus zum schnellen Aufsetzen eines kompletten Applikationsstacks dar. Und da gerade ein neues Projekt ansteht, wollte ich mal schauen, ob das alles tatsächlich so einfach geht wie versprochen.
Software wird von Menschen, mit Menschen und für Menschen entwickelt.
Nicht alle Probleme von Software können im Code gelöst werden.
Es muss doch irgendwie möglich sein, dass "historisch gewachsen" aus der Software zu verbannen.
Donnerstag, 28. November 2013
Donnerstag, 21. November 2013
Mock Object by Example
Bisher wurde gezeigt, wie nicht relevante Abhängigkeiten mittels Dummies eliminiert, spezielle Testvorraussetzungen mittels Stubs geschaffen und indirektes Verhalten mittels Spies geprüft werden kann. Allen diesen Test Doubles gemein ist, dass zusätzlicher Implementierungsaufwand notwendig ist. Oftmals müssen erst neue Interfaces geschaffen und davon spezielle Implementierungen abgeleitet werden.
Mock-Objekte hingegen werden durch ein Mock-Framework erzeugt. Vorhandene Klassen werden ohne eigenen Implementierungsaufwand durch Mock-Objekte ersetzt. Es muss noch nicht einmal ein zusätzliches Interface geschaffen werden, weil das Mocking auch auf Klassen funktioniert. Lediglich das JAR des gewählten Mock-Frameworks muss in den CLASSPATH eingebunden werden. Weiterhin erlauben Mock-Objekte von Hause aus eine Verhaltensverifikation wie bei Test Spies.
Mock-Objekte hingegen werden durch ein Mock-Framework erzeugt. Vorhandene Klassen werden ohne eigenen Implementierungsaufwand durch Mock-Objekte ersetzt. Es muss noch nicht einmal ein zusätzliches Interface geschaffen werden, weil das Mocking auch auf Klassen funktioniert. Lediglich das JAR des gewählten Mock-Frameworks muss in den CLASSPATH eingebunden werden. Weiterhin erlauben Mock-Objekte von Hause aus eine Verhaltensverifikation wie bei Test Spies.
Donnerstag, 14. November 2013
Test Spy by Example
Test Spies nehmen eine gewisse Sonderrolle bei den Test Doubles ein, weil sie die Tests weder vereinfachen noch spezielle Voraussetzungen schaffen. Ihr Zweck ist es, Verhalten zu testen. Alle bisherigen Tests haben ausschließlich den Zustand nach der Berechnung überprüft, also ob die Rechnungssumme stimmt. Mit einem Test Spy kann indirekt überprüft werden, ob eine Methode wie erwartet aufgerufen wurde (und ggf. wie oft). Ein Beispiel hierfür wäre z.B. die Überprüfung des automatischen Versands einer eMail nach einer Nutzerregistrierung.
Mittwoch, 6. November 2013
Test Stub by Example
Im Gegensatz zu Dummy-Objekten, bei denen nicht relevante Abhängigkeiten eliminiert werden, sollen mittels Test Stubs spezielle Testvoraussetzungen geschaffen werden. Dafür wird unser Beispiel um die Anforderung erweitert, dass zur Happy Hour alles nur die Hälfte kosten soll.
Abonnieren
Posts (Atom)