BDD with RSpec and Cucumber from The RSpec Book's Codebreaker.