Testgetriebene Entwicklung mit JavaScript

         sebastian.sanitz@it-agile.de
Agenda
●   Motivation
●   TDD
●   Kata
●   Werkzeuge
●   Architektur
●   Fazit
●   Fragen
Write once,
run anywhere?
Je später ein Fehler
  entdeckt wird, desto
teurer ist die Behebung.
Warten auf
                                                                           Feedback?




http://www.flickr.com/photos/powerhouse_museum/2980051095/sizes/o/in/photostream/
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




Model               View
„Presenter-First“
sind Tests von „außen“ nach „innen“
http://tddjs.com




   TODO:
JsTestDriver
Modularisierung:
                       Dojo, requireJS..?
    Test-Tools:
JsTestDriver, YUI..?
                        Architekturen
                        MVP, MVC...?
   Refactoring:
   Werkzeuge...?
                         Mehr Katas!
Fazit


Testgetriebene Entwicklung
 mit JavaScript ist möglich!
Danke!
         Fragen?

Testgetriebene Entwicklung mit JavaScript - webtech 2010