Presented at Barcamp Bangkhen 2014 on November 16, 2014.
Testing Any WebsiteWritten in Any LanguageWith Capybara and RSpec
View Slide
Prem Sichanugrist@sikachu/sikachu
Testing
Acceptance Testing
High-level Testing
Assert From User'sPerspective
Whole-Stack Testing
Acceptance TestingFrameworks• Cucumber (Ruby)• Mocha (JavaScript (node.js))• Ranorex (C#, VB.NET)
Capybara + RSpec(Ruby)
Why You Should WriteAcceptance Test
(this slide is intentionally left blank)
TL;DR• User flow is well-defined• Prevent future regression after introducing newfeature
Why Capybara + Rspec?
Clean & Clear Syntax
Very Well-Maintained
Very FlexibleEasily swapping between drivers
Requirements
Requirements1. RSpec - Testing Framework
Requirements1. RSpec - Testing Framework2. Capybara - Providing DSL for Testing
Requirements1. RSpec - Testing Framework2. Capybara - Providing DSL for Testing3. Capybara Webkit - Webkit Backend with JS support
Demo
Steps• Install dependencies using Bundler• RSpec, Capybara, Capybara Webkit• Run RSpec install• Require Capybara in spec_helper• Set Webkit as the driver• Done, start writing test!
http://git.io/bcbk-testingDemo Source Code
Before we're done ...• Bangkok.rb• Metting every last Saturday afternoon• http://bit.ly/bangkokrb (Google Groups)• November Meeting - November 29, 2014• Sign up: http://bit.ly/bangkokrb-nov2014
Thank You!Any Questions?Code: http://git.io/bcbk-testingSlide: http://bit.ly/bcbk-testingFollow me: https://twitter.com/sikachu