Donnerstag, 28. November 2013

AppFuse: setup and first start

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.

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.

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.