Top Banner
The secret art of Agile Javascripting Luca Grulla Italian Agile Day, Genova, 19/11/10
30

Javascript testing IAD2010

May 06, 2015

Download

Technology

Luca Grulla

Italian Agile Day 2010 Presentation about Javascript testing
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 testing IAD2010

The secret art of Agile Javascripting

Luca Grulla

Italian Agile Day, Genova, 19/11/10

Page 2: Javascript testing IAD2010

Our background

Large public facing websitesSignificant javascript codebasewith complex DOM interactionHeavy use of Ajax Large amount of business logic

Long life expectancy

Page 3: Javascript testing IAD2010

Disclaimer

This presentation is technology agnosticEach tool used is replaceableIt is not about how to use jQuery

Page 4: Javascript testing IAD2010

Technology Stack• JQuery• JSTestDriver• Ewloe• JavascriptLint

Page 5: Javascript testing IAD2010

It used to be so simple…

Page 6: Javascript testing IAD2010

Rich clients

Page 7: Javascript testing IAD2010

We want unit tests

Page 8: Javascript testing IAD2010

Scenario

Login formNeed to validate user credentialsNeed to execute a server call via ajax POSTBased on the result we need to show a

welcome or an error message

Page 9: Javascript testing IAD2010
Page 10: Javascript testing IAD2010
Page 11: Javascript testing IAD2010
Page 12: Javascript testing IAD2010
Page 13: Javascript testing IAD2010

So what is wrong with this code ?

Page 14: Javascript testing IAD2010
Page 15: Javascript testing IAD2010

We want to test it!

Page 16: Javascript testing IAD2010

Domain abstraction

Page 17: Javascript testing IAD2010

Abstraction around integration points

Page 18: Javascript testing IAD2010

HTTP

DOMPresentation Logic

Business Logic

Page 19: Javascript testing IAD2010
Page 20: Javascript testing IAD2010
Page 21: Javascript testing IAD2010
Page 22: Javascript testing IAD2010
Page 23: Javascript testing IAD2010
Page 24: Javascript testing IAD2010
Page 25: Javascript testing IAD2010
Page 26: Javascript testing IAD2010

Our approachJavascript is a first class language

create abstractions:business logicpresentation logicintegrations…but not limited to a specific pattern !!

Keep your presentation logic class as skinny as possible in order to express intents

Favour interaction tests over integration tests

Page 27: Javascript testing IAD2010

Tools Considerations

….whatever you like but has to be pluggable in your Continuous Integration !!

Page 28: Javascript testing IAD2010

Questions ?

Page 29: Javascript testing IAD2010

Thank You !

Luca Grulla [email protected]://www.lucagrulla.it/bloghttp://www.github.com/lucagrulla

Page 30: Javascript testing IAD2010

References

Ewloe http://github.com/gurrie/ewloe