Hacker News new | ask | show | jobs
by pramodbiligiri 1386 days ago
If you take TDD literally you’ll end up writing the inner domain logic layers first purely because they’re easier to test using objects and APIs. For greenfield projects that’s a risk because you don’t know how that fits with the user/usage side of things.

I’ve found it safer to start with (manual) integration tests where I verify intended behavior from outside in. That avoids building inner layers which turn out to be slightly but annoyingly off compared to what is desired.

Unfortunately, as soon as you jump off the pure OO bits and domain logic, the TDD-ness of your end-to-end program could be all over the place. You’re entirely at the mercy of available tools and your proficiency with them, and the time you can invest in learning those tools.