21
Java Script – MVVM & TDD Itzik Saban [email protected]

JavaScript TDD

Embed Size (px)

DESCRIPTION

Software Craftsmanship in Israel meeting. JavaScript and TDD

Citation preview

Page 1: JavaScript TDD

Java Script – MVVM & TDD

Itzik Saban

[email protected]

Page 2: JavaScript TDD

Agenda•Demonstration of TDD importance•Quick Intro to MVVM & Knockout.js•Quick Intro to jasmine•Example•Practicing

Page 3: JavaScript TDD

TDD Importance

Page 4: JavaScript TDD

TDD importance

Possible points of failure:• Changes in UI logics• Renaming• Merges• Wrong syntax• etc.

Page 5: JavaScript TDD

Introduction to MVVM

Page 6: JavaScript TDD

Introduction to MVVM

Bad code for testing:

Page 7: JavaScript TDD

Introduction to MVVM

Good code for testing:

Page 8: JavaScript TDD

Introduction to MVVM

Model-View-ViewModel

Page 9: JavaScript TDD

Introduction to MVVM

Model-View-ViewModel

• The model is a set of one or more json objects, usually representing entities in the domain.

Page 10: JavaScript TDD

Introduction to MVVM

Model-View-ViewModel

Page 11: JavaScript TDD

Introduction to MVVM

Model-View-ViewModel

• The view is actually the html itself.

Page 12: JavaScript TDD

Introduction to MVVM

Model-View-ViewModel

Page 13: JavaScript TDD

Introduction to MVVM

Model-View-ViewModel

• The ViewModel is a javascript object which is responsible to handle the UI logics.

Page 14: JavaScript TDD

Introduction to MVVM

Model-View-ViewModel

Page 15: JavaScript TDD

Introduction to MVVM

Model

ViewModel

Binding Mechanism

(Knockout.js)

View

Page 16: JavaScript TDD

Introduction to Knockout.js

Page 17: JavaScript TDD

Introduction to Knockout.jsTextBox

HTML:

ViewModel:

Page 18: JavaScript TDD

Introduction to Knockout.jsComboBox

HTML:

ViewModel:

Page 19: JavaScript TDD

Introduction to Knockout.jsButton

HTML:

ViewModel:

Page 20: JavaScript TDD

Introduction to jasmine

Page 21: JavaScript TDD

Introduction to jasmin