Ah, I see. I agree completely. Mostly, I think it's about common sense and discipline.
I think lots of people find that it's much easier to keep their discipline with testing if they think about tests first.
There are also certain processes that I think work better with testing first. Personally, if I'm making something in Racket and I realize that I would like a macro, I'll usually spin up a new window and make an assertion that something should produce something, etc., and then start to work on actually implementing the macro. What it means, usually, is that I have to think about the API much more and how it should be used. You end up thinking more about the "usage" side and in that case it's worth it.
Though, a lot of the time I'll accomplish the same by simply writing my initial program in the way I want it to (thus making the API I want) and then implementing the macro.