test your javascript! v1.1

33
Testing JavaScript © 2013 Eric Wendelin @eriwen

Post on 21-Oct-2014

10.886 views

Category:

Technology


0 download

DESCRIPTION

Introduction to unit/functional testing and continuous integration with JavaScript

TRANSCRIPT

Page 1: Test your Javascript! v1.1

Testing JavaScript

© 2013 Eric Wendelin@eriwen

Page 2: Test your Javascript! v1.1

Eric Wendelin

Blog: eriwen.com

Twitter: @eriwen

Code: git.io/eric

Page 3: Test your Javascript! v1.1
Page 4: Test your Javascript! v1.1

Today, we’ll talk about

• What makes JS testing hard

• A few ways we can make our JS more testable

• Some tools that make testing easier

Page 5: Test your Javascript! v1.1

Why is testing your JavaScript important?

Page 6: Test your Javascript! v1.1

The community is behind in testing

Page 7: Test your Javascript! v1.1

Why is JavaScript so hard to test?

Page 8: Test your Javascript! v1.1
Page 9: Test your Javascript! v1.1
Page 10: Test your Javascript! v1.1
Page 11: Test your Javascript! v1.1
Page 12: Test your Javascript! v1.1

Un-testable JS is most of the problem

Page 13: Test your Javascript! v1.1

Don’t do this!

Do this!

Page 14: Test your Javascript! v1.1

Use with caution!

Better!

Page 15: Test your Javascript! v1.1

Don’t do this!

Do this!

Page 16: Test your Javascript! v1.1

Don’t do this!

Do this!

Page 17: Test your Javascript! v1.1

Don’t do this!

Do this!

Page 18: Test your Javascript! v1.1

Writing Tests

Page 19: Test your Javascript! v1.1

1 unit test framework +1 functional test framework

= Infinite Pocket Bacon

Page 20: Test your Javascript! v1.1

Logic / Computation

unit test

Page 21: Test your Javascript! v1.1

Computation Example

Page 22: Test your Javascript! v1.1

User Interaction

functional test

Page 23: Test your Javascript! v1.1

Interaction Example

Page 25: Test your Javascript! v1.1
Page 26: Test your Javascript! v1.1
Page 27: Test your Javascript! v1.1
Page 28: Test your Javascript! v1.1

sinon.js goodies• Jasmine Adapter

• QUnit Adapter

• Mocha Adapter

• Buster.js Adapter

• Chai-specific matchers

• Jasmine matchers

• ... much more

Page 29: Test your Javascript! v1.1

ember-testing

/ember.js/packages/ember-testing

Page 31: Test your Javascript! v1.1

{F*** IT! WE’LL DO IT LIVE!}

Page 32: Test your Javascript! v1.1

culture of testing