I used to think that testing was totally useless, then I worked in a company that did no tests at all and everything broke all the fucking time. So I started to write tests and they brought immediate advantages:
Finding bugs
Finding regressions
Making sure the code is properly decoupled
At this time I started to write tests before writing the code. But I never managed to get the test right before the code. My coding process is two-stage:
Code the thing grossly first to get the picture
Burn everything and code it clean
Now that I'm writing this I suppose that I could have written tests between stage 1 and 2 instead of trying to do it at stage 1 but I didn't (also with time those stages became quite blurry)
But it doesn't matter because now most of what I do is front-end and testing is mostly pointless
Most things can't be tested (basically: the front-end should look like the design, but how do you test that?)
There is so many moving parts when you stop doing something trivial (reproducing the output of the API and working with translations for starters)
Overall it's cheaper to hire interns and have them run the tests manually
E2E testing is a setup nightmare (again many moving parts)
Some things I do don't even have tools to be tested (like instant services/chatbots)
In the end, I don't do TDD. It's not compatible with my work process and not compatible with the kind of work I produce.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
I used to think that testing was totally useless, then I worked in a company that did no tests at all and everything broke all the fucking time. So I started to write tests and they brought immediate advantages:
At this time I started to write tests before writing the code. But I never managed to get the test right before the code. My coding process is two-stage:
Now that I'm writing this I suppose that I could have written tests between stage 1 and 2 instead of trying to do it at stage 1 but I didn't (also with time those stages became quite blurry)
But it doesn't matter because now most of what I do is front-end and testing is mostly pointless
In the end, I don't do TDD. It's not compatible with my work process and not compatible with the kind of work I produce.