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.

13 Responses to “The RSpec Book — Beta 10 and Progress Report”

  1. Colin Jack Says:

    Excellent news, really looking forward to its release.

  2. Ryan Briones Says:

    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!

  3. James Baker Says:

    David - just want to say that I appreciate the B(ook)DD; keep up the good work!

  4. Luis Lavena Says:

    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 :-P

    Thank you!

  5. Dan Croak Says:

    Read the Webrat & Selenium chapter last night after getting the beta update email from Prag Progs… looking good!

  6. Kam Dahlin Says:

    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.

  7. Ranganath Says:

    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

  8. David Chelimsky Says:

    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.

  9. Satyajit Says:

    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?

  10. Mike Vargo Says:

    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

  11. Isabel Lee Says:

    i think Book Marketing takes more effort compared to e-mail marketing and social media marketing.-”

  12. Avery Weissbrodt Says:

    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.

  13. Donte Fugh Says:

    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.

Leave a Reply