This is really just for my reference but I thought I’d note down the three laws of Test Driven Development as defined by Bob Martin. AKA Uncle Bob.
- You are not allowed to write any production code unless it is to make a failing unit test pass.
- You are not allowed to write any more of a unit test than is sufficient to fail; and compilation failures are failures.
- You are not allowed to write any more production code than is sufficient to pass the one failing unit test.
They’re very strict but useful, and while you may not follow them perfectly when writing your unit tests they’re useful to have in the back of your mind.
I also share Bob Martin’s excellent video on the three laws too: