The RSpec Book: Behaviour Driven Development with RSpec, Cucumber, and Friends

Added by Dmytro Shteflyuk on , authored by David Chelimsky

The RSpec Book: Behaviour Driven Development with RSpec, Cucumber, and Friends
Started reading:
28th November 2009
Finished reading:
16th December 2009

Order on Amazon.com

Book rating: 7 of 10

Review

Behaviour Driven Development is about writing software that matters. It is an approach to agile software development that takes cues from Test Driven Development, Domain Driven Design, and Acceptance Test Driven Planning.

RSpec and Cucumber are the leading Behaviour Driven Development tools in Ruby. RSpec supports Test Driven Development in Ruby through the BDD lens, keeping your focus on design and documentation while also supporting thorough testing and quick fault isolation. Cucumber, RSpec’s steadfast companion, supports Acceptance Test Driven Planning with business-facing, executable requirements documentation that helps to ensure that you are writing relevant software targeted at real business needs.

The RSpec Book will introduce you to RSpec, Cucumber, and a number of other tools that make up the Ruby BDD family. Replete with tutorials and practical examples, the RSpec Book will help you get your BDD on, taking you from executable requirements to working software that is clean, well tested, well documented, flexible and highly maintainable.

Nice book, but not as good as expected. The most interesting part is the first one, where author shows the idea of BDD in small steps on real world example. It helps to feel better BDD itself and how to use it in day-to-day work.

There are some interesting tidbits about extending RSpec and mocks, BDD in Ruby on Rails, acceptance testing with Webrat and Selenium. But they looks like extended documentation provided along with RSpec, with some additional examples and advises, provided in a more structured manner.

Anyways, It’s a good tutorial and introduction to Cucumber and Behavior Driven Development (testing) of Ruby on Rails web applications.