Böttger/Krutisch: Wie teste ich...? (Best Practices Rails-Tests)
Testgetriebene Entwicklung in Rails ist eine coole Sache. Testen in richtig macht Spaß, nicht nur, weil es mit einem besseren Gefühl und besserer Qualität einhergeht. Packt man es richtig an, ist man schnell test-infiziert und kann sich anderes Entwickeln gar nicht mehr so richtig vorstellen. Dennoch: Im Laufe der Entwicklung einer Web-Plattform tauchen viele Probleme und Fragen beim Testen auf:
- Was teste ich eigentlich, was teste ich nicht (z.B. weil es von der Rails-Testsuite getestet wird)?
- Wie teste ich externe Datenzugriffe, z.B. für Mashups?
- Wie teste ich Hintergrundprozesse (z.B. BackgrounDRb-Worker)?
- Wie teste ich Views? Wie umfangreich sollten View-Tests sein?
- Was mocke ich weg, was sollte man besser nicht wegmocken?
- Wie verhindere ich, dass ich durch zuviel “Gemocke” nicht mehr die ganze Anwendung durchteste?
- Wie teste ich die Testfallabdeckung? (z.B. RCov)
- Wie kann ich Testframeworks für meine eigenen Aufgaben erweitern?
- Wie teste ich eigene Plugins?
Thorsten und Jan versuchen, all diese Fragen zumindest ansatzweise in einem Dialog zu beantworten. Die Lösungen beziehen sich dabei überwiegend auf RSpec, sind aber meist einfach auf andere Test-Frameworks zu übertragen.
Slides: boettger_krutisch-wietesteich.pdf
Jan Krutisch ist Rails-Entwickler bei der mindmatters GmbH & Co. KG in Hamburg. Er hat die deutsche Rails-Usergroup 2005 mitgegründet und ist Co-Autor des Buches “Webanwendungen mit Ruby on Rails” des Addison-Wesley-Verlags. Als Referent hat er bereits mehrere Vorträge zum Thema Rails gehalten, unter anderem als ganztägiges Tutorial auf der iX-Konferenz für bessere Software und auf dem iX-Forum auf den letzten beiden CeBit-Messen. Als Student der Umwelttechik könnte er als typischer Quereinsteiger gelten, mag Photographie, elektronische Musik und Drachen und sollte dringend mehr Zeit mit seiner Freundin verbringen.
Thorsten Böttger ist freiberuflicher Software-Entwickler aus Hamburg. Seit mehr als 10 Jahren konzipiert und entwickelt er Webanwendungen, zunächst mit Java, seit Anfang 2006 nur noch mit Ruby on Rails. Er war u.a. an den Plattformen qype.com, dawanda.com und ideenzutaten.de beteiligt und arbeitet z.Z. im tempodome-Projekt, einer Plattform für Live-Events im Internet. Erreichen kann man ihn über seine Webseite mt7.de .






