I have a boring opinion. A cold take? served straight from the freezer.

He is right, however AI is still darn useful. He hints at why: patterns.

Writing a test suite for a new class when an existing one is in place is a breeze. It even can come up with tests you wouldnt have thought of or would have been too time pressed to check.

It also applies to non-test code too. If you have the structure it can knock a new one out.

You could have some lisp contraption that DRYs all the WETs so there is zero boilerplate. But in reality we are not crafting these perfect cosebases, we make readable, low-magic and boilerplatey code on tbe whole in our jobs.

But what about the tests usefulness? Tests enforce contracts, contracts are about the domain, not the implementation. The number of tests don't actually matter as much as what is being actually verified. If you look at the code to know what to tests, you are doing it wrong.

The usefulness is in saving time boilerplating, plus figuring out tests I may not have thought of.

But I do closely review the code! It turns the usual drudge of writing tests into more of a code review. Last time I did it it had some mistakes I needed to fix for sure.

There shouldn't be boilerplate in test code. It should be refactored into harnesses, utils, and fixtures instead.

While absolutist, I think this is a good goal! AI wont do that unprompted. It will get the job done TM. But not elegantly.

A lot of the tests have those things. Boilerplate becomes knowing which to use, as well as the it.each(...) etc. ceremonies

I'm not disagreeing per se, but in my experience my tests are so disposable they're never worth investing that much engineering effort in past getting them to pass