Published
This post is written in German
Wie im letzten Eintrag schon gesagt, schreibe ich momentan ein paar Tests für die nächste Version dieser Webseite. In
Ruby on Rails ist es glücklicherweise sehr einfach, Tests zu schreiben. Das sind im Prinzip nur kleine, überschaubare
Skripte, die gewisse Vorgänge der Anwendung ausführen und anschließend überprüfen, ob das Ergebnis mit den
erwarteten Werten übereinstimmt. So kann man z.B. im Test einen Weblogeintrag erstellen und anschließend prüfen,
ob der Datensatz in der Datenbank existiert, mit den passenden Kategorien verknüpft ist, usw. Das wirklich praktischste
aber ist, dass man, sobald man die Tests einmal geschrieben hat, sie bequem alle jederzeit über ein Kommando ausführen
kann.
Bisher hab ich immer nur mit Unit Tests gearbeitet, die datenbankspezifische Logik, wie z.B. die Beziehungen
zwischen einzelnen Tabellen bzw. Models, überprüfen. Gestern Abend bin ich auch endlich mal dazugekommen
Functional Tests zu schreiben. Damit kann man Anfragen and die Aktionen eines Controllers simulieren
und prüfen, ob das Ergebnis mit den Erwartungen übereinstimmt.
Es ist wirklich gut, wenn man mit einem Befehl alle Tests durchlaufen lassen kann und weiß, dass die Anwendung so
funktioniert, wie sie funktionieren soll. Beruhigt das Gewissen wirklich sehr.
Vielleicht mache ich auch gleich das meiste über Integration Tests, die im Prinzip die gesamte
Rails-Anwendung durchtesten. Angefangen vom Dispatcher (der die URLs entgegennimmt), bis zu den verwendeten
Controllern und Models.
Hab noch einige Tests zu schreiben… auf bald.