Agenda
● Motivation● TDD● Kata● Werkzeuge● Architektur● Fazit ● Fragen
Write once,run anywhere?
Je später ein Fehler entdeckt wird, desto
teurer ist die Behebung.
http://www.flickr.com/photos/powerhouse_museum/2980051095/sizes/o/in/photostream/
Warten auf Feedback?
Drei TDD-Regeln von „Uncle Bob“
Es wird kein produktiver Code geschrieben, ohne fehlschlagende Tests.
Es wird nur so viel Testcode geschrieben, um einen Fehler zu demonstrieren.
Es wird nur so viel produktiver Code geschrieben, bis die Tests erfolgreich sind.
Vows http://vowsjs.org
Stil: BDD
Mocks: Nein
Automatisierung: node.js
Jasmine http://pivotal.github.com/jasmine
Stil: BDD
Mocks: Spies
Automatisierung: Ruby & Selenium
QUnit http://docs.jquery.com/Qunit
Stil: Unit
Mocks: Nein
Automatisierung: Selenium?
http://thebeat.iloveny.com/the-art-of-the-brick%C2%AE-opens-at-strong-national-museum-of-play%C2%AE-december-5-1964.html
http://www.bitrebels.com/geek/cant-afford-a-car-build-a-lego-one/
MVP?
Presenter
ViewModel
„Presenter-First“ sind Tests von „außen“ nach „innen“
http://tddjs.com
TODO:JsTestDriver
Test-Tools:JsTestDriver, YUI..?
Mehr Katas!
ArchitekturenMVP, MVC...?
Refactoring:Werkzeuge...?
Modularisierung:Dojo, requireJS..?
Fazit
Testgetriebene Entwicklung mit JavaScript ist möglich!
Danke!Fragen?