This was my earliest use-case for LLMs and it remains to this day as the most compelling value proposition of all the fancy new LLMs.
I have always tried to abide by DRY in my programming career with the huge exception of writing unit tests. I made the mistake, early in my career when Test-Driven Development was all the rage, of making unit tests reflect the inheritance structure of the actual code. It just made sense. Needless to say, it quickly descended into the most bizarre manifestation of inheritance hell as tests randomly failed with no correlation to the changes done in the core code.
Hence, I resolved to make unit tests the huge exception to DRY. The more straightforward your tests are, the better. Endeavor that each test method up to a test class should read understandably on its own.
This, of course, made tests quite a mechanical chore to write. Which makes it the perfect use case for these large, verbose, and humorless daemons. Bonus that they are also very good at vibing out the set-up needed for a test so I can focus on specifying the test cases I want rather than setting up mock after stub after fake.
The output is also very easy to review and verify. I see no moral quandary in this kind of usage.