That's a fairly well contested question, but I fall on the TDD line: I work best when I write tests before each line of code. Basically, it's more about tempo than knowing that I've got 100% test coverage.
So, with that philosophy, I end up writing tests for everything, including the fact that a validation was setup.
Joined: Nov 03, 2006
I generally fall on the TDD side as well; my colleagues don't. That way we're certain to have covered all possible exits :)