TDD with KnockoutJS

22
TDD KnockoutJS www.kylehodgson.com @kylehodgson

Transcript of TDD with KnockoutJS

Page 1: TDD with KnockoutJS

TDD KnockoutJS

www.kylehodgson.com @kylehodgson

Page 2: TDD with KnockoutJS

Legacy Code

Page 3: TDD with KnockoutJS

Snake Charmer

Page 4: TDD with KnockoutJS

Test Driven Development

● Red

● Green

● Refactor

Page 5: TDD with KnockoutJS

Great!

But what about your JavaScript?

Page 6: TDD with KnockoutJS
Page 7: TDD with KnockoutJS
Page 8: TDD with KnockoutJS
Page 9: TDD with KnockoutJS

KnockoutJS

Page 10: TDD with KnockoutJS

KnockoutJS

Page 11: TDD with KnockoutJS

Jasmine Spec

Page 12: TDD with KnockoutJS

var self = this;

Page 13: TDD with KnockoutJS

var Fruit = function() { this.name = ko.observable();}

var myFruit = new Fruit();myFruit.name="Mango";

Page 14: TDD with KnockoutJS

wrong!myFruit.name="Mango";

right!myFruit.name("Mango");

Page 15: TDD with KnockoutJS

var Fruit = function() { this.name = ko.observable();}

var myFruit = new Fruit();myFruit.name("Mango");

console.log(myFruit.name);

Page 16: TDD with KnockoutJS

wrong!console.log(myFruit.name);

right!console.log(myFruit.name());

Page 17: TDD with KnockoutJS

KarmaJS

Page 18: TDD with KnockoutJS
Page 19: TDD with KnockoutJS

c:\projects\ToDontList> more toDontEnv.bat

set HOME=c:\users\khodgson\

set PATH=%PATH%;c:\nuget\

set CHROME_BIN=%HOME%\AppData\Local\Google\Chrome\Application\chrome.

exe

set IE_BIN=C:\Program Files\Internet Explorer\iexplore.exe

set PHANTOMJS_BIN=%HOME%\AppData\Roaming\npm\phantomjs.cmd

set FIREFOX_BIN=C:\Program Files (x86)\Mozilla Firefox\firefox.exe

Page 20: TDD with KnockoutJS

Epic User Story

As a busy executive,I'd like to keep track of things that aren't important, So that I can make sure that I don't do them.

Page 21: TDD with KnockoutJS

Live Code Section

ToDontList

Page 22: TDD with KnockoutJS

Thanks!

https://github.com/kylehodgson/ToDontList

http://www.kylehodgson.com

@kylehodgson

[email protected]