The RSpec Book — Beta 10 and Progress Report
September 23rd, 2009
Beta 10????? When the hell are we going to start chopping down some trees? Well, first, here’s what’s new in Beta 10 of The RSpec Book:
Automating the Browser with Webrat and Selenium
This new chapter from Bryan Helmkamp shows you how to drive Cucumber scenarios right through your browser using Webrat and Selenium. You’ll type a single command and watch a browser fire up and walk through each scenario step by step right before your very eyes, and then see a standard Cucumber report in the shell. It’s a sight to behold, and a great way to drive out behaviour that requires JavaScript.
And now, for your reading pleasure …
Progress Report
I’m sure that all of you post-first-time authors out there know what I mean when I say that working on this book has been a fascinating case study in how not to write a book. First, we’re writing about not just one, but no less that six moving targets: RSpec, Cucumber, Rails, Webrat, Selenium and, of course BDD itself.
When we started this book, BDD was seen primarily as a new look at test driven development. The book was focused only on RSpec and TDD through this new lens. Had we stuck to that we might be talking about the third edition by now, but while we were writing, BDD was on the move.
BDD in 2009
Today, BDD has evolved to a full-stack agile process derived from Extreme Programming (XP). Rather than being a variation of TDD, it comprises TDD (and ATDP, DDD, etc, etc). And so has the book evolved to incorporate the application of these ideas to the practical use of an evolving toolset.
Also consider that four of the authors are primary maintainers of said moving targets (including BDD itself). Structuring a project like this leads to a different meaning of BDD entirely …
Book Driven Development
I can’t count the number of times that I’ve been writing about how to do something or set something up in RSpec or Cucumber and I’ve thought “Really? We could do better than that!” Each of those revelations led to software updates, followed by me poring through the book to update related content.
The end result is better software and a better book, benefiting RSpec and Cucumber users and The RSpec Book readers alike.
What remains to be done?
At this point we’re pretty close to the end of this journey. We’ve got two chapters left to write, plus some bookends (and beginnings - foreword, preface, and appendices). I also need to review pretty much everything because lots of things that we wrote about earlier in the process have changed.
After all that, we’ll have a final technical review, copyediting, indexing, and then off to print! So we’re in the final phases now and I look forward to reporting that the book is off to print in the not too distant future. How “not too distant” I hesitate to say, because so far I’m batting 000 in terms of release predictions (and I thought estimating software delivery was a challenge!).
In the mean time, I’ll be posting updates here as we progress, along with some discussion of the material in the book.


September 23rd, 2009 at 1:24 pm
Excellent news, really looking forward to its release.
September 23rd, 2009 at 3:03 pm
this sounds awesome, david! i was a little afraid that this book would be sort of a reference to a lot of stuff i already know, but it sounds like you guys have jam packed a lot of awesomeness here. definitely going to buy. congrats to everyone on the success!
September 23rd, 2009 at 4:27 pm
David - just want to say that I appreciate the B(ook)DD; keep up the good work!
September 23rd, 2009 at 8:11 pm
Awesome news David, I keep reading and loving every new update of Alpha, Beta and soon Gamma versions of the book
On a sidenote, please tell PragProg to fix their website, is useless from Android
Thank you!
September 24th, 2009 at 3:57 am
Read the Webrat & Selenium chapter last night after getting the beta update email from Prag Progs… looking good!
October 10th, 2009 at 9:11 pm
David,
New to RSpec and just read through most of the latest beta. Great work!
Is context still being used as in the examples in the book, or is it better to just use nested describes? I know that context is an alias for describe, but I am not clear when to use context v.s. a nested describe? Early in the book you use context, but in the rspec section towards the end you use nested describes. Not sure if they are interchangeable after the initial describe statement, or if there is a case to use one over the other.
October 15th, 2009 at 8:02 am
Dear David,
I noticed on Amazon that your book “The RSpec Book: Behaviour Driven Development with RSpec, Cucumber, and Friends” is becoming available for sale on Oct 28, 2009. In this connection, we’ve developed a nifty little free tool called BookBuzzr to help authors promote their books on Twitter, Facebook etc. The tool is already being used by over 2,500 authors. Please take a moment to check out the various book-marketing features on BookBuzzr.com as it may help you automate much of your social media outreach efforts. Depending upon your release date and availability of slots, we may also be able to feature your book on our home page at no charge. Please contact me if your interested in this option.
Hope this helps.
Thanks,
Ranga S. Author Success Manager http://www.BookBuzzr.com
World’s No. 1 Free, Online Book-Marketing Technology for Authors
October 16th, 2009 at 8:31 pm
I like to use describe() for the thing I’m describing and context() for the context in which it is being described. Make sense? Both method names will be supported indefinitely.
December 1st, 2009 at 8:23 am
I bought your book and found your site. Interestingly you don’t have a RSS feed link on your site but blog.davidchelimsky.net/feed/rss leads to the feed. Is it an oversight or you did it on purpose?
March 10th, 2010 at 7:30 pm
Dear David,
I’ve just completed reading the PDF version of “The RSpec Book”. Very nicely done. I’ve been scanning the periphery of all these topics and it was very nice to have it all put together in one document. Thank you.
I have question/suggestion about the chapter on Rails models. In the evolving example about creating Messages between Users and the Subscription, in the first steps, Mocks are used to isolate one model from another. Like the Message model mocks the User model. In Section 26.2 you talk about Specifying Business Rules and start putting in the rules (Subscription) on the User sending Messages. At the end of the section, the user_spec.rb has Messages and Subscriptions in it. I can see the need for that.
My question is when (or mabe never) do you go back and replace the Mock objects in the specs with the real ones? It seems the mock_objects specify the interface to what you wish you had. How do you make sure that integrity is maintained over a longer time? I hope that question makes sense. It seems like a little paragraph or two in the book about that might be useful.
I admit to the very likely possibility that this is in the book but I missed it. If so, you can just redirect me to that spot. (or just tell me to RTFM or RTFB in this case).
I Enjoy the book, thanks for listening.
Mike Vargo
May 23rd, 2010 at 3:40 pm
i think Book Marketing takes more effort compared to e-mail marketing and social media marketing.-”
December 2nd, 2010 at 7:55 am
Before distributing your content to article submission sites publish them on your own website. Wait to have them indexed and subsequently carry out your mass syndication.
December 8th, 2010 at 1:05 am
Prior to diffusing your articles to article banks submit them on your own site. Wait to have them indexed and subsequently execute your bulk syndication.