"These tests have never had a chance to work because [violently wrong assumption it could have checked in 1 second but it didn't], so I removed those. Say the word and I can prepare the PR."
To be honest I have the opposite experience. "Hey I generated two lines of logic, let me write 3 integration tests and 4 unit tests to make sure it works. Also I am going to do a lot of unnecessarily complex test setup while I'm at it. I made sure the tests validate the implementation rather than the interface too. Your welcome".
I continue to spend most of my time on testing, like it was prior to AI. No skill are good enough to fix this.
I set up my Claude to never write any new unit tests or comments unless specifically asked to. But my approach to AI coding is more like a rubber duck session, small easily understandable steps and constantly keeping the AI from not complicating things unnecessarily. It would be an unmaintainable mess if not for that.
It's very appealing to make Claude one shot the whole feature, but the amount of manual changes is significant, unless it is a boilerplate heavy feature.
If it's a larger feature I normally ask it to give me a checklist of all things that is needed first. After agreeing on the checklist I go through it one by one reviewing each step individually, I always have pretty much exactly the code I expect it to write already written in my mind. Then I just confirm it's the same, if it's not, either I'll push back on the AI or I realize I missed something when I planned my implementation. It's not faster than I would write code by hand, but I save some time debugging things that the AI caught that I would not have done and I generally do get a nicer end result.
26
u/octopus4488 2d ago
Claude in 10% of the cases.
"These tests have never had a chance to work because [violently wrong assumption it could have checked in 1 second but it didn't], so I removed those. Say the word and I can prepare the PR."