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

JavaScript TDD

May 28, 2015

Download

Technology

Uri Lavi

Software Craftsmanship in Israel meeting.
JavaScript and TDD
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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