Coverage != testing
If we always start with failing tests before writing code that adds new capability to an application, it is inevitable that tests we write will cover classes with trivial complexity.
I think the danger with this line of thinking is that it implies that
coverage == testing
But I would strongly state the opposite and the justification as:
coverage != testing whereas
coverage == use and
testing == correct use (by way of assertion checking)
and there is a world of difference between just using the ATM and verifying it actually gave you $60. :)
Or as I’ve seen elsewhere and don’t have the reference right now: Testing verifies your code, coverage verifies your testing, but you can’t say that coverage tests your code.