I find unit tests written after the fact to be pointless. TDD makes a lot of sense because it forces you to think about how you are going to write your code. I like that. If you're writing tests after the fact, integration tests have a much more satisfying finish, and I can't imagine going without them (unless they are painful to implement)