Neu: Das englische Ruby on Rails 4.0 Buch.

7.1. Einleitung

Ich programmiere seit 30 Jahren und bin davon die meiste Zeit sehr gut ohne Testing zurechtgekommen. Ich bin den EDV-Dinosauriern nicht böse, wenn sie dieses Kapitel überspringen. Sie können Rails-Applikationen auch ohne Tests erstellen und werden deshalb kein schlechtes Karma bekommen (hoffentlich, sicher kann man bei der Karma-Sache ja nie sein).
Aber sollten Sie sich auf Test-Driven-Development (TDD) einlassen, so kann ich Ihnen versprechen, dass es eine Erleuchtung ist. Die Grundidee von TDD ist, dass man für jede Programmfunktion einen Test schreibt, der diese Funktion überprüft. In der reinen TDD-Lehre schreibt man diesen Test vor dem eigentlichen Programmieren. Ja, man hat initial mehr Aufwand. Aber danach kann man alle Tests durchlaufen lassen und sieht, dass die Applikation genau so funktioniert, wie man es sich vorgestellt hat. Der wirkliche Vorteil stellt sich aber erst nach ein paar Wochen oder Monaten ein, wenn man sich das Projekt wieder mal vornimmt und eine Erweiterung oder Veränderung schreibt. Dann kann man recht gefahrlos den Code verändern und danach die Funktionsweise anhand der Tests überprüfen. Es gibt dann kein „hmm … das ist jetzt dumm gelaufen, aber an diese Besonderheit habe ich nicht gedacht“ mehr.
Der Vorteil von TDD zeigt sich aber oft schon beim ersten Schreiben eines Programmes. Oft entlarven Tests Flüchtigkeitsfehler, die sonst erst sehr viel später auffallen würden.
Dieses Kapitel ist ein Kurzüberblick zum Thema Test-Driven-Development mit Rails. Wenn Sie Blut geleckt haben, werden Sie sicher noch tiefer einsteigen wollen. In der offiziellen Rails-Doku können Sie unter http://guides.rubyonrails.org/testing.html tiefer eintauchen.

Anmerkung

Testen ist wie Autofahren. Autofahren kann man auch nur beim Autofahren lernen.

Autor

Stefan Wintermeyer