I've been dealing with this problem a lot lately while building a multi-tenancy app. Corey Haines' view on TDD is very interesting, and I encourage anyone interested to check out his brand new screencast episodes on Clean Coders.

Nice episode.
I just had to handle a situation where I had to disply a custom error message on a ActiveRecord::RecordNotFound Exception for a specific controller.
Although this episode I can't figure out how to set a custom error message.

I can't believe how much pain this episode saved me this week. Using traditional methods was taking me down a twisted complex path that was dramatically simplified with a form object. This is right up there with presenters and service objects as the most significant changes in mindset for me.