/
Alok Guha Alok Guha

Alok Guha - PowerPoint Presentation

mitsue-stanley
mitsue-stanley . @mitsue-stanley
Follow
378 views
Uploaded On 2016-05-17

Alok Guha - PPT Presentation

Unit Testing Framework for JavaScript Why Unit Testing Instant satisfaction Code Against Your API While or Before it is Built Leads to a Better Design Understand How Your Code Works Confidence in Your Code ID: 324017

testing matcher javascript code matcher testing code javascript amp jasmine compares defined undefined http framework unit boolean actual spies

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Alok Guha" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Alok Guha

Unit Testing Framework for JavaScriptSlide2
Slide3

Why Unit Testing ?

Instant satisfactionCode Against Your API While or Before it is BuiltLeads to a Better DesignUnderstand How Your Code WorksConfidence in Your CodeSlide4

Why UTs are more important with JavaScript

Because its weak-typed languageWorks on client side.Faster to test Unit Tests than to browse actual application.Slide5

JasmineA BDD framework for JavaScript testing

a behavior-driven development framework for testing JavaScript code.does not depend on any other JavaScript frameworksdoes not require DOM.Can be integrated with any CI tool.Slide6

Suits & SpectsSlide7

Expectations & Matchers

To express what you expect about behavior of your code.Matcher implements a Boolean comparison between the actual value and the expected valueSlide8

Frequently Used Matchers

The 'toBe' matcher compares with ===The 'toEqual' matcherThe 'toMatch' matcher is for regular expressionsThe 'toBeDefined' matcher compares against `undefined`The `toBeUndefined` matcher compares against `undefined`The 'toBeNull' matcher compares against nullThe 'toBeTruthy' matcher is for boolean casting testingThe 'toBeFalsy' matcher is for boolean casting testingThe 'toContain' matcher is for finding an item in an ArrayEvery matcher’s criteria can be inverted by prepending .notSlide9

beforeEach & afterEach

Both takes a function which executes before and after execution of each spec.Slide10

Spy

These are mock or fake calls to method.Spies should be created before expectations.Spies can be checked if they were called or not, and what was calling arguments.Slide11

Think Tests ?Slide12

Possible Test cases

a & b should be defined always.If a & b defined it should return sum of them.if a or b is not defined, result should be undefined.Result should be in same cast as input provided.Slide13

Lets welcome Jasmine

Live examplesSlide14

references

http://pivotal.github.com/jasmine/http://evanhahn.com/how-do-i-jasmine/http://try-jasmine.heroku.com/My own experiences.Slide15