38
Testing JavaScript with Jasmine

Testing javascript

  • View
    1.486

  • Download
    5

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Testing javascript

Testing JavaScript

with Jasmine

Page 2: Testing javascript

Why should we test JavaScript?

Page 3: Testing javascript

How many times have you changed something in JavaScript

Page 4: Testing javascript

Only to break something else?

Page 5: Testing javascript

JavaScript = Production Code!

Page 6: Testing javascript

Which means, we need to treat it with respect

Page 7: Testing javascript

And, preserve the ability to

Page 8: Testing javascript

change

Page 9: Testing javascript

fix

Page 10: Testing javascript

clean

Page 11: Testing javascript

and refactor our JavaScript code

Page 12: Testing javascript

Without fear of breaking something

Page 13: Testing javascript

Testing is especially important when external factors can affect how our code functions

Page 14: Testing javascript

What makes a good test?

Page 15: Testing javascript

Think F.I.R.S.T

Page 16: Testing javascript

Fast

Page 17: Testing javascript

Independent

Tests should not depend on each other.

Page 18: Testing javascript

Repeatable

Always the same results, regardless of environment.

Page 19: Testing javascript

Self-Validating

Pass or FailNo manual evalutation.

Page 20: Testing javascript

Timely

Write tests before production code.

Page 21: Testing javascript

Let’s look at an example.

A random function for rolling a die.

Page 22: Testing javascript

What’s wrong here?

Page 23: Testing javascript

How do we normally debug JavaScript?

Page 24: Testing javascript

Let’s forget we even mentioned that…

Page 25: Testing javascript
Page 26: Testing javascript

So… we have this buggy code.

Page 27: Testing javascript

What do we do about it?

Page 28: Testing javascript

Write a failing test

Page 29: Testing javascript

Then Run the test to see it fail

Page 30: Testing javascript

SpecRunner.html

Page 31: Testing javascript

Squash the bug

Page 32: Testing javascript

Success!

Page 33: Testing javascript

Add more tests

Page 34: Testing javascript

Win!

Testing = Documentation!

Page 35: Testing javascript

Remember…

Page 36: Testing javascript

When you find yourself wanting to do this.

Page 37: Testing javascript

Write a test instead!

Page 38: Testing javascript

Questions?