| TDD means you write your test before you write your code. Test code is code. You must write test code for your test code before you can write your test code. Test code for test code is code. You must write test code for your test code for your test code before you can write your test code for your test code. TDD is trapped in a loop of infinite regression. This means that TDD never produces actual application code. In fact, it can't even produce test code. How do you define a test of a test of a test .... of a test ... of a test ..... so you can write it? You can't define it so you can't write it. You have no starting point. The answer must be that you really cannot do TDD. You just call it TDD. At some level you rely on the old standby of clean simple design, incremental implementation, inspection, and manual testing. Why not cut to the chase and do that on your application code? |