Also, tests ARE THE code, and equally important too! However so many people make the mistake of writing tests after the function, when the benefit is less immediate. They also have the illusion that they are done and have to do extra work. And since they didn’t write the test first, they most likely wasted a ton of time and energy on extra work of testing changes manually
I disagree unless the tests are reasonably high level.
Half the time the thing you’re testing is so poorly defined that the only way to tighten that definition is to iterate.
In this sense, you’re wasting time writing tests until you’ve iterated enough to have something worth testing.
At that point, a couple of regression tests offer the biggest bang for buck so you can sanity check things are still working when you move on to another function and forget all about this one
Documentation and testing are fundamental parts of writing code.
Also, tests ARE THE code, and equally important too! However so many people make the mistake of writing tests after the function, when the benefit is less immediate. They also have the illusion that they are done and have to do extra work. And since they didn’t write the test first, they most likely wasted a ton of time and energy on extra work of testing changes manually
I disagree unless the tests are reasonably high level.
Half the time the thing you’re testing is so poorly defined that the only way to tighten that definition is to iterate.
In this sense, you’re wasting time writing tests until you’ve iterated enough to have something worth testing.
At that point, a couple of regression tests offer the biggest bang for buck so you can sanity check things are still working when you move on to another function and forget all about this one