2011-12-12 14:46:21 +00:00
|
|
|
!SLIDE
|
|
|
|
# `jasmine-headless-webkit`
|
|
|
|
## The fastest way to test your browser-targeted JavaScript!
|
|
|
|
|
|
|
|
!SLIDE
|
|
|
|
# JavaScript Testing
|
|
|
|
|
|
|
|
!SLIDE bullets incremental
|
|
|
|
# Ajax-y apps are complex nowadays!
|
|
|
|
|
|
|
|
* jQuery
|
|
|
|
* Backbone
|
|
|
|
* Tons of other JavaScripty things
|
|
|
|
* Client/server communication
|
|
|
|
|
|
|
|
!SLIDE
|
|
|
|
# A lot can break!
|
|
|
|
|
|
|
|
!SLIDE
|
|
|
|
# Lots of different ways to test
|
|
|
|
|
|
|
|
!SLIDE bullets incremental
|
|
|
|
# Standalone JavaScript Engines
|
|
|
|
|
|
|
|
* Node.JS
|
|
|
|
* EnvJS
|
|
|
|
* Rhino
|
|
|
|
* ...and others!
|
|
|
|
|
|
|
|
!SLIDE
|
|
|
|
# Great for testing JS Libraries
|
|
|
|
|
|
|
|
!SLIDE
|
|
|
|
# Not so great in testing in "real" browsers
|
|
|
|
|
|
|
|
!SLIDE
|
|
|
|
# Fake DOMs aren't quite the same
|
|
|
|
|
2011-12-14 00:37:46 +00:00
|
|
|
!SLIDE
|
|
|
|
## (with the way I write tests, at least)
|
|
|
|
|
2011-12-12 14:46:21 +00:00
|
|
|
!SLIDE bullets incremental
|
2011-12-14 00:37:46 +00:00
|
|
|
# Full-stack Integration testing tools
|
2011-12-12 14:46:21 +00:00
|
|
|
|
|
|
|
* Capybara
|
|
|
|
* Cucumber
|
|
|
|
* Selenium
|
|
|
|
|
|
|
|
!SLIDE
|
|
|
|
# Very thorough
|
|
|
|
|
|
|
|
!SLIDE
|
|
|
|
# Sloooooow
|
|
|
|
|
|
|
|
!SLIDE
|
|
|
|
# Server-side dependency management
|
|
|
|
|
|
|
|
!SLIDE
|
|
|
|
# Sprockets
|
|
|
|
|
2011-12-13 21:42:53 +00:00
|
|
|
!SLIDE
|
|
|
|
# Server-based testing tools
|
|
|
|
|
|
|
|
* Jasmine gem
|
|
|
|
* `jasmine-rails`
|
|
|
|
|
|
|
|
!SLIDE
|
|
|
|
# Compiles assets for testing
|
|
|
|
|
|
|
|
!SLIDE
|
|
|
|
# Harder to automate
|
|
|
|
|
2011-12-12 14:46:21 +00:00
|
|
|
!SLIDE bullets incremental
|
|
|
|
# Continuous testing
|
|
|
|
|
|
|
|
* Guard
|
|
|
|
|
2011-12-14 00:37:46 +00:00
|
|
|
!SLIDE
|
|
|
|
# What I wanted is a JS testing tool that...
|
2011-12-12 14:46:21 +00:00
|
|
|
|
|
|
|
* Runs fast
|
2011-12-14 00:37:46 +00:00
|
|
|
* In a real browser so I can use jQuery & Backbone straight
|
2011-12-12 14:46:21 +00:00
|
|
|
* That supports modern Ruby webapp conventions
|
|
|
|
* Is built for continuous testing
|
|
|
|
|
|
|
|
!SLIDE
|
2011-12-14 00:37:46 +00:00
|
|
|
# `jasmine-headless-webkit`!
|
2011-12-12 14:46:21 +00:00
|
|
|
|