I've got an application which developed by employing TDD as methodology (not strictly but mostly).
Now I want to outsource some parts of the application because I don't have enough time to develop it. I'm planning use websites such as "Rent A Coder", "elancer" etc.
I don't want to give out my code to anyone else, so I'm planning to give them a "Class Design" and bunch of "Unit Tests" that the class need to pass.
After this point when I deliver the class I'll run it against my Unit Tester (with different values) and see if it can pass it. If it passes everyone will be happy, and I'll call this class from my application as planned and it'll work.
Do you think this is good idea? What sort of pitfalls might happen? And this sounds too good to me, if it's why other people are not doing this?