I was referring to the later.
The same enviroment and thinking that brought us java, and made it a clusterfuck of "abstractions", and "design principles".
I'd rather just code ad design at will, and be able to refactor, change, or throw away code without being held hostage of these tests which will break at some point, not because your code is not right, but because they were design to test something according to a thinking, and when that something changes, all those tests are obsolete.
In fact, that's one of the major benefits of testing: a refactoring safety net!
Refactoring is inevitable. I find that on projects where I've written tests, refactoring goes a lot better.
Which, I agree, is one of the shortcomings of unit testing: placing an additional burden on improving interfaces and semantics.
Adding tests up front, from my experience, adds about 40% overhead to a project. (time spent actually writing the tests) You may get some of this time back later, as the author claims, as the automated test suite is run.
I've also been on projects where the code & entire test suite was re-written & scrapped after 6 months of initial development, pretty much making the whole test up front thing of little value.