CDN$ 42.30
  • List Price: CDN$ 50.51
  • You Save: CDN$ 8.21 (16%)
Only 8 left in stock (more on the way).
Ships from and sold by Gift-wrap available.
The RSpec Book: Behaviour... has been added to your Cart
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 2 images

The RSpec Book: Behaviour Driven Development with RSpec, Cucumber, and Friends Paperback – Dec 25 2010

5.0 out of 5 stars 1 customer review

See all 3 formats and editions Hide other formats and editions
Amazon Price
New from Used from
Kindle Edition
"Please retry"
"Please retry"
CDN$ 42.30
CDN$ 23.00 CDN$ 28.45

Harry Potter and the Cursed Child
click to open popover

Frequently Bought Together

  • The RSpec Book: Behaviour Driven Development with RSpec, Cucumber, and Friends
  • +
  • The Cucumber Book: Behaviour-Driven Development for Testers and Developers
Total price: CDN$ 81.65
Buy the selected items together

No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
Getting the download link through email is temporarily not available. Please check back later.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your mobile phone number.

Product Details

  • Paperback: 448 pages
  • Publisher: Pragmatic Bookshelf; 1 edition (Dec 25 2010)
  • Language: English
  • ISBN-10: 1934356379
  • ISBN-13: 978-1934356371
  • Product Dimensions: 19 x 2.3 x 23.5 cm
  • Shipping Weight: 635 g
  • Average Customer Review: 5.0 out of 5 stars 1 customer review
  • Amazon Bestsellers Rank: #234,166 in Books (See Top 100 in Books)
  •  Would you like to update product info, give feedback on images, or tell us about a lower price?

Product Description


""Some authors would be satisfied with just writing the definitive guide for a technology. These folks go a step further, and show you insider tips that will keep your tests clean and maintainable.""--Ian Dees, Software Engineer

""The second generation of tools for the XP generation explained by their creators and maintainers. Awesome, a must read.""--Marcus Ahvne, software developer, Valtech

""The RSpec Book teaches you much more than how to use RSpec's features; it teaches you how to write code the way the RSpec team does: patiently, and with great precision and clarity. There is something here for everyone: beginners are given plenty of gentle attention but there is some real meat for the more experienced reader to chew on, too.""--Matt Wynn, independent programmer and coach

About the Author

David Chelimsky is the lead developer/maintainer of RSpec, and has contributed to several other open source projects including Cucumber, Aruba, and Rails. He has been developing software for over a decade, including three years training and mentoring agile teams at Object Mentor. He is currently a Senior Software Engineer at DRW Trading Group in Chicago, IL. In his spare time, David likes to play guitar, travel, and speak something resembling Portuguese.

Dave Astels is the Director of Technology at and has been involved with software and computing for over 25 years, recently having spent several years working exclusively with Ruby and Rails. Dave wrote the article that prompted Steven Baker to start the RSpec project.

Bryan Helmkamp maintains Webrat, a Ruby library to implement acceptance tests for web applications in an expressive and maintainable way, and is an active participant in the New York City Ruby community. Bryan is the CTO of Efficiency 2.0, a startup that helps people understand and reduce their energy use.

Dan North writes software and coaches teams and organizations in agile and lean methods. He believes that most problems that teams face are about communication and understanding, which is why he puts so much emphasis on "getting the words right." In 2003-4 this led him to develop the ideas that would become Behaviour-Driven Development. He is delighted by the community that has grown up around RSpec and Cucumber, and especially the enthusiasm and dedication of their core contributors. Dan is currently a Senior Software Engineer at DRW Trading Group in London, where he gets to actually code again!

Zach Dennis is a co-founder and fellow human at Mutually Human Software, an expert custom software strategy and design consultancy in Grand Rapids, Michigan. He has been enjoying Ruby for nearly eight years and has contributed to several projects such as Ruby's standard library documentation, Ruby on Rails, and RSpec. In his spare time, Zach loves spending time with his family, continuously learning, playing music, and running

Aslak Hellesoy is a Senior Software Engineer at DRW Trading Group in London. While contributing to this book he was the Chief Scientist of BEKK Consulting in Oslo. In 2003, after seven years of professional Java programming, he fell in love with Ruby. He has contributed to dozens of open source projects and is the founder of the Cucumberproject. Aslak likes to cook, ski, and travel.

What Other Items Do Customers Buy After Viewing This Item?

Customer Reviews

5.0 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See the customer review
Share your thoughts with other customers

Top Customer Reviews

Format: Paperback Verified Purchase
Great book!
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again.
Report abuse

Most Helpful Customer Reviews on (beta) HASH(0x9f7676fc) out of 5 stars 25 reviews
31 of 32 people found the following review helpful
HASH(0xa500ac48) out of 5 stars Great intro to an important methodology, but lacks depth Feb. 19 2011
By Mani Tadayon - Published on
Format: Paperback
Behavior Driven Development is an important new methodology, and the authors of The RSpec Book provide a solid introduction to the theory and practice of BDD. However, I feel this book would have been just as good as a series of blog posts. This is not meant to denigrate the book, into which I know much effort was invested. However, the examples in the book fail to tackle the real-world challenges that you will face when implementing BDD.

Einstein said "Everything should be kept as simple as possible, but not simpler." A common fault of software courses and books is an avoidance of real-world complexity. For example, in The RSpec Book, the last 3 or 4 chapters are on BDD with Ruby on Rails. The sample application that is developed is ridiculously simple. Also, no cucumber specs are developed for it, so we are basically writing code for its own sake, rather than executing on the BDD mantra of "writing software that matters."

Both BDD and Ruby on Rails are meant to offer solutions for large, complex software projects and the ins and outs of their proper usage can only be learned by application to software that goes well beyond toy functionality. In a large Rails projects, with dozens of models with complex associations interacting with multiple gems, managing RSpec examples and Cucumber scenarios is a project in and of itself. The introductory example application "CodeBreaker" is better because it shows the full BDD development cycle with both cucumber and RSPec. Perhaps the authors should have built on that same example in the Ruby on Rails chapters.

In the end, if you want to learn BDD, you definitely should buy this book. The authors would do well, however, to bring in more of their real world experience in future editions.

One final note for those interested in advice on real-word BDD best practices, google "You're cuking it wrong" by Jonas Nicklas.
29 of 32 people found the following review helpful
HASH(0x9f5b0d50) out of 5 stars Room for Improvement Feb. 2 2011
By Ryan. S - Published on
Format: Paperback
I hate to be the first one to give a less than great review of this book, especially since several of the authors are chiefly responsible for these great testing tools to be in existence. But I'd probably be even harder on the book than I am if I knew of a good alternative, which I don't. So best I can tell, this is still the best book to learn BDD using RSpec and Cucumber.

There seems to be a fair amount of errata that didn't get fixed prior to going to print. In fact, the book on whole seems like it could have used more in the editing process. I question the organization of the book; however I do get a sense of what the authors were trying to accomplish.

I am sympathetic to the challenges of writing a book for technologies that are very rapidly changing; that said, at a conference in June 2010, the author had already switched to using Capybara instead of Webrat, so I was shocked that the book went to print in December 2010 without mention of Capybara, which from what I can tell, seems to be the new de facto standard for browser simulation.

No doubt BDD while easy to understand at an abstract level, seems to be an art hard to explain concretely. Surely examples are the best way to learn, and fortunately this book does use plenty of examples. I love that they devote 100 pages specifically to BDD in Rails (although I'm sure developers using other languages and frameworks don't). I'd say this edition of the book is a good 0.8 release, and I look to the inevitable 1.0 (aka 2nd Edition).
16 of 17 people found the following review helpful
HASH(0x9f772984) out of 5 stars If you are a hard core developer April 28 2011
By David A. Taylor - Published on
Format: Paperback Verified Purchase
I am a long time Web Developer, ramping back up on RoR. I was looking for a book that would help me develop a good solid testing environment on this new Rails 3 project that I am creating.

As I read and tried many of the little tiny examples in the book, and eventually decided that I do not want to do Cucumber (I do not need to spend the extra time to generate code to translate requirements from English, RSpec is clear enough for me). Unfortunately (from my perspective), much of the book rambles on about Cucumber and integrating it with RSpec.

As I went through the book and I found a section of code that interested me, it too frequently told me that I would hear more details later on, which I found quite frustrating. I was ready for the down-low, and never seemed to find it, until I eventually jumped to Chapters 23, 24 and 25. Chapters 23, 24 and 25 are the chapters that walk you through the process of developing Test/Behavior driven View, Controllers and Models. This is what I needed to get my project going.

This book is worth it, even if you only look at the RSpec chapters.

Oh, by the way, when you are looking into the tools you want to use for integration testing, I recommend looking into Capybara, which is not talked about in the book.

I hope this helps.
Dave Taylor (
8 of 8 people found the following review helpful
HASH(0xa03efeac) out of 5 stars Behavior Driven Development Jan. 29 2011
By Ilya Grigorik - Published on
Format: Paperback
The title is misleading. This book is not about RSpec in particular, rather this book is about Behavior Driven Development (BDD). It just so happens that the state of the art in BDD happens to be around RSpec, Cucumber, and friends. If you're looking to learn about BDD, then this is probably one of the best references today - don't worry about the Ruby dependencies, many use Cucumber and RSpec to drive testing of their JavaScript code, Java, etc.

I found the organization of the book to be a little disorienting: right off the bat we jump into a BDD workflow, and only later in the book do we get introduced to the actual frameworks. As someone who has already spent enough time with the tools prior to picking up this book, I was able to follow along, but I wonder if someone less familiar would not find this organization confusing. In reality, I think this book is a reflection of the very learning process that the authors have gone through themselves while writing the frameworks and the book itself. It feels like this book is really a two in one: philosophy of and for BDD, and a manual for existing tools - and hence the confusing organization.

Having said all that, if you are interested in learning about BDD, or improving your existing BDD workflow, then this is definitely the book you are looking for. Along the way you'll also learn about the internals of RSpec, Cucumber, Rails + BDD, and a variety of other tools.
2 of 2 people found the following review helpful
HASH(0xa17d5438) out of 5 stars Good but outdated May 26 2014
By Siddhardha - Published on
Format: Paperback Verified Purchase
I bought this book to obtain a more in-depth treatment of rspec that some of the other books I have read didn't have. Rspec is the framework used for testing where I work and I needed to get up to speed on it. Part I of the book starts with an introduction of rspec and cucumber and then proceeds to illustrate BDD with these two tools for a simple game known as a code breaker. I thought this part presented very well. Real world applications tend to be much more complex than the simple one presented here, but hopefully the principles will apply (with some modifications as appropriate). Part 2 describes BDD in a little more detail while Part III and Part IV cover rspec and cucumber respectively. The part about Rspec is quite good - there is a fair amount of detail with ideas on when to use what along with examples. Part IV is also okay but it seemed to not have enough depth - this isn't necessarily an issue as there is another book on Cucumber I intend to read soon. Part 5 is about applying BDD to Rails. I usually test out the code samples in every book I buy by typing them out from the book and not downloading the source (unless absolutely required). Once concern I had when I purchased this book is that the versions of the gems used in the book are outdated and therefore the code may not work on newer version of gems. As a matter of fact, the book recommends using the versions of the gems that the original was source was tested with. I had instead used the latest version of all gems. In Parts I through IV, not many changes are required to get the source to work properly with the newer versions of the gems. Occasionally there may be warning (for instance, in Rspec, Stub is deprecated, use double instead) and this was easy to fix and once fixed, the warning went away. The only part that I didn't try the samples was Part V - BDD with Rails - the reason being the book uses Webrat but Capybara seems to be the popular choice now in the community. The book does cover Selenium and includes ideas for testing different components of Rails, so the ideas are usable, but the source code isn't out of the box. In other words, this section of the book is outdated. Not withstanding the caveats, this book is still worth a read.