On 2013-06-20 00:47, Nick Sabalausky wrote:
- Writing a unittest first forces the API to be designed before the implementation is written. But implementation is necessary to flush out unexpected design requirements (If you think you can always come up with an appropriate design and interface before implementing, then you're just plain wrong). Sometimes the appropriate design and API is obvious. Sometimes it isn't. When it isn't, then TDD skirts dangerously close to some of the problems of "Waterfall Model". Sure, TDD advocates refactoring-as-needed, but I can do that with or without TDD.
Just because you have written a test doesn't mean you cannot change it. Perhaps you come up with a better API design, then change the tests.
-- /Jacob Carlborg
