The RSpec Book: Behaviour Driven Development with RSpec,... and over one million other books are available for Amazon Kindle. Learn more

Vous voulez voir cette page en français ? Cliquez ici.


or
Sign in to turn on 1-Click ordering.
More Buying Choices
Have one to sell? Sell yours here
Start reading The RSpec Book on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

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

David Chelimsky , Dave Astels , Bryan Helmkamp , Dan North , Zach Dennis , Aslak Hellesoy

List Price: CDN$ 44.95
Price: CDN$ 28.32 & FREE Shipping. Details
You Save: CDN$ 16.63 (37%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Usually ships within 1 to 3 weeks.
Ships from and sold by Amazon.ca. Gift-wrap available.

Formats

Amazon Price New from Used from
Kindle Edition CDN $20.37  
Paperback CDN $28.32  
Join Amazon Student in Canada


Book Description

Dec 25 2010 1934356379 978-1934356371 1

Behaviour-Driven Development (BDD) gives you the best of Test Driven Development, Domain Driven Design, and Acceptance Test Driven Planning techniques, so you can create better software with self-documenting, executable tests that bring users and developers together with a common language.

Get the most out of BDD in Ruby with The RSpec Book, written by the lead developer of RSpec, David Chelimsky.

You'll get started right away with RSpec 2 and Cucumber by developing a simple game, using Cucumber to express high-level requirements in language your customer understands, and RSpec to express more granular requirements that focus on the behavior of individual objects in the system. You'll learn how to use test doubles (mocks and stubs) to control the environment and focus the RSpec examples on one object at a time, and how to customize RSpec to "speak" in the language of your domain.

You'll develop Rails 3 applications and use companion tools such as Webrat and Selenium to express requirements for web applications both in memory and in the browser. And you'll learn to specify Rails views, controllers, and models, each in complete isolation from the other.

Whether you're developing applications, frameworks, or the libraries that power them, The RSpec Book will help you write better code, better tests, and deliver better software to happier users.


Frequently Bought Together

Customers buy this book with The Cucumber Book: Behaviour-Driven Development for Testers and Developers CDN$ 25.00

The RSpec Book: Behaviour Driven Development with RSpec, Cucumber, and Friends + The Cucumber Book: Behaviour-Driven Development for Testers and Developers
Price For Both: CDN$ 53.32

One of these items ships sooner than the other. Show details


Customers Who Bought This Item Also Bought


Product Details


Product Description

Review

""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 ChannelFireball.com 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 continuousthinking.com.

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.


Inside This Book (Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index
Search inside this book:

What Other Items Do Customers Buy After Viewing This Item?


Customer Reviews

There are no customer reviews yet on Amazon.ca
5 star
4 star
3 star
2 star
1 star
Most Helpful Customer Reviews on Amazon.com (beta)
Amazon.com: 4.1 out of 5 stars  17 reviews
27 of 28 people found the following review helpful
3.0 out of 5 stars Great intro to an important methodology, but lacks depth Feb. 19 2011
By Mani Tadayon - Published on Amazon.com
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.
26 of 28 people found the following review helpful
3.0 out of 5 stars Room for Improvement Feb. 2 2011
By R. Sandridge - Published on Amazon.com
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).
14 of 15 people found the following review helpful
4.0 out of 5 stars If you are a hard core developer April 28 2011
By David A. Taylor - Published on Amazon.com
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 (tayloredwebsites.com)
6 of 6 people found the following review helpful
4.0 out of 5 stars Behavior Driven Development Jan. 29 2011
By Ilya Grigorik - Published on Amazon.com
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.
8 of 9 people found the following review helpful
5.0 out of 5 stars Great up-to-date walkthrough of RSpec 2.0, Cucumber and how to use them with Rails March 15 2011
By Peter Cooper - Published on Amazon.com
Format:Paperback
The RSpec Book is a 400 page book by David Chelimsky and a cadre of BDD (Behavior Driven Development) experts. Its aim is to teach you all about RSpec (RSpec 2.0 - specifically!) and BDD from the ground up and it promises to "help you write better code, write better tests, and delver better software to your users."

Robert C. Martin (a.k.a. Uncle Bob) kicks off the book with a foreword that warns us of what's to come. He says that the book is a trap and isn't really about RSpec. I won't spoil the whole surprise of his delivery but his general point is that the book is focused on teaching you software craftsmanship using BDD (and testing in general) as the framework for putting together well-crafted software. This point is significant because The RSpec Book focuses on the concepts of BDD just as much as it does on the technicalities of RSpec itself.

The book starts with an extensive Getting Started section headed by a quick chapter summarizing RSpec and Cucumber before moving on to a suite of walkthrough-style chapters dedicated to building a 'code breaker' game. Acceptance Test-Driven Planning is used which essentially means the acceptance tests are written first in the form of Cucumber features so for two chapters you don't get to see any RSpec at all. Once RSpec comes into the mix, though, things move quickly and mocks (doubles) and stubs are introduced quickly. The 'code breaker' game work then continues for a couple of chapters with a brief detour into refactoring.

The second section of the book - Behavior Driven Development - is made up of two code-free chapters that look at BDD from a higher level. A lot of this portion is quite opinionated but if you want to get an overall feel for the BDD process and how different concepts interlock with it, it's a great primer.

The third section of the book - RSpec - proved to be the real "meat" for me. There are several chapters digging solely into the ins and outs of RSpec 2.0 itself. You learn how to use RSpec from the basics up, working through matchers, best practices, mocks, macros, custom formatters, custom matchers, and how the RSpec toolkit can integrate with other tools (such as TextMate). You basically get a 102 page guide to RSpec 2.0 here and that might be worth the price of admission alone.

Sections dedicated to Cucumber and Rails follow on to close the book. I found the Rails section particularly useful having not previously gotten on to the RSpec 2 bandwagon with Rails 3. There are several chapters that each walk through a particular topic, like view specs, controller specs, and model specs. I didn't want to digest the entire set at once and the structure helped me just dig into the parts I was immediately interested in without following each chapter in order. The large number of short and sweet code examples also helps if you're just scanning through looking for some guidance.

In short, I recommend The RSpec Book. The other reviews here seem to be rather mixed so you might want to check them out to get the bigger picture, but I've found the book to be rather useful with its direct narrative style, logical structure, and vast number of short code examples from which to descry some handy techniques.

Look for similar items by category


Feedback