Verhaltensorientiert testen
vom 19. January 2007Endlich Wochenende und endlich Zeit meine mit "todo" getagten Bookmarks anzuschauen. Dabei war ein Google TechTalk von Dave Astels, in dem es um Behaviour Driven Development (BDD) geht. Er schlägt eine andere Denkweise vor, wie Programmcode getestet werden sollte: Nämlich das Verhalten spezifizieren, das der Code implementiert, nicht einen Test gegen eine Klasse schreiben. Der Test äh die Spec schlägt Alarm, wenn sich der Code anders verhält. Astels hat ein ein Framework mit dem Namen rSpec für Ruby geschrieben, das ziemlich intuitiv bedienbar ist.
Ein kleines Beispiel (Es wird "anything" in einem Stack abgelegt und anschließend geprüft ob sich der Stack wie ein Stack verhält, also ob er nach dem Ablegen von "anything" nicht mer leer ist):
specify "should not be empty after 'push'" do
@stack.push "anything"
@stack.should_not_be_empty
end
Eine interessante Denkweise. Das schöne ist auch, das man so viel bessere Statusmeldungen bekommt, wenn eine Spec fehlschlägt.
del.icio.us,
Endlich Wochenende und endlich Zeit meine mit "todo" getagten Bookmarks anzuschauen. Dabei war ein Google TechTalk von Dave Astels, in dem es um