| | |  | Software Engineering | Home » » » The RSpec Book: Behaviour Driven Development with Rspec, Cucumber, and Friends (The Facets of Ruby Series) | | | | | | | Product Promotions: | | | | | Description: | | 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.
| | | Features: | |
• ISBN13: 9781934356371
• Condition: New
• Notes: BRAND NEW FROM PUBLISHER! 100% Satisfaction Guarantee. Tracking provided on most orders. Buy with Confidence! Millions of books sold!
| | | Product Details: | | | Author:
| David Chelimsky | | Paperback:
| 448 pages | | Publisher:
| Pragmatic Bookshelf | | Publication Date:
| December 22, 2010 | | Language:
| English | | ISBN:
| 1934356379 | | Product Length:
| 9.2 inches | | Product Width:
| 7.64 inches | | Product Height:
| 0.82 inches | | Product Weight:
| 1.47 pounds | | Package Length:
| 8.9 inches | | Package Width:
| 7.5 inches | | Package Height:
| 1.0 inches | | Package Weight:
| 1.4 pounds | | Average Customer Rating:
| based on 8 reviews |
| | | | Customer Reviews: | |
Average Customer Review:
( 8 customer reviews )
Write an online review and share your thoughts with other customers.
Most Helpful Customer Reviews
21 of 22 found the following review helpful:
Room for ImprovementFeb 02, 2011
By R. Sandridge 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 found the following review helpful:
Great intro to an important methodology, but lacks depthFeb 19, 2011
By Mani Tadayon 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, search Google for the following blog posts: "You're cuking it wrong" by Jonas Nicklas "You're cuking it right" by Mislav Marohnic
9 of 9 found the following review helpful:
If you are a hard core developerApr 28, 2011
By David A. Taylor
"Dave Taylor"
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)
4 of 4 found the following review helpful:
Behavior Driven DevelopmentJan 29, 2011
By Ilya Grigorik
"igrigorik"
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.
4 of 5 found the following review helpful:
Great up-to-date walkthrough of RSpec 2.0, Cucumber and how to use them with RailsMar 15, 2011
By Peter Cooper 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.
See all 8 customer reviews on Amazon.com
| | |
|