
On Thursday, September 14, 2006 at 20:52:09 (-0700) Scott Meyers writes:
Bill Lear wrote:
This is essentially the approach I have taken over the years. At some point, the unit tests become hopelessly complex, Mock objects begin to weigh development down (if you change the interface, you have to change your mock objects) and a transition is made to higher-level integrated testing.
I assume you always need integrated testing in addition to unit tests, but it sounds like you're saying that at some point, maintaining the unit test framework stops paying for itself, so you abandon it. Is that correct?
No, just that at some point of complexity, we decide to switch some of the tests "upward". So, let's say you have a project divided into a hierarchy: A B C Where A is lowest level of complexity (basic library code), B middle layer, C upper layer. We might have 95% unit test coverage at A, 85% at B, and 75% at C, with the remainder "covered" by non-unit, externally-driven tests. Bill