Well, in general I agree. I would think the best way to test someone, is to have them solve a business problem in the office for a week. But that isn't exactly easy to manage when you have many candidates who themselves do not have free time.
Is there a way to compensate someone monetarily for this week? Bring them on in some sort contractor capacity? Maybe more people would bite at an opportunity like this, especially if they are getting paid for their time. Personally, I know I would.
What about those who already have a job? And unless the company is hip, the really good candidate accept one of the half dozen offers they already got.