Testing Rails
I went dark there for a while. Actually, a bright light came on. I've been actively (somewhat secretively) dabbling with Rails for a few months, comparing and contrasting it with my experience building J2EE applications. Rails is addictive stuff, and how could I deny myself a taste after all that I've heard on the web. ("Rails: It slices, it dices, it makes J2EE men into mices.")
But context matters, so you have to try new things while sitting behind your keyboard, using your hard-won experience, and building an application that matters to you. The rest is someone else's experience—just a nudge that you might want to investigate further.
Then I recently got involved writing the testing chapter for Dave and David's upcoming book Agile Web Development with Rails. That gave me an opportunity to dig in deeper and learn how to build a respectable online store with Rails. I've built a few of these with other technologies, so the domain was familiar, which allowed me to focus on the technology differences. Suffice it to say, I found Rails so compelling that I'm now helping a new client develop a Rails application because it fits with their business goals and culture.
Now, to build applications rapidly and iteratively, you need safety nets. I don't feel safe without my tests. So one requirement for me trying Rails was that it had to be testable. It turns out, not only are Rails apps testable by design, but Rails has unparalleled testing support. Indeed, it actually promotes testing in many ways. How much testing infrastructure is baked in? I told Dave the chapter would only be 15 pages or so; it quickly turned into a 40-page draft.
Dave and David are working day and night to try to get Agile Web Development with Rails in your hands by early August. It's a stellar piece of work, and I'm honored to have contributed a small part of it. Hopefully the book will nudge you to give Rails a spin, and draw your own conclusions.