Earlier quoted context omitted.
> It feels like Tdd/llm connection is implied — “and also generate tests”. That sounds like an anti-pattern and not true TDD to get LLMs to generate tests for you if you don't know what to test for. It also reduces your confidence in knowing if the generated test does what it says. Thus, you might as well write it yourself. Otherwise you will get these sort of nasty incidents. [0] Even when 'all tests passed'. [0] ht…
LLMs (Sonnet, Gemini from what I tested) tend to “fix” failing tests by either removing them outright or tweaking the assertions just enough to make them pass. The opposite happens too - sometimes they change the actual logic when what really needs updating is the test. In short, LLMs often get confused about where the problem lies: the code under test or the test itself. And no amount of context engineering seems to…
Without providing the actual feature requirements to the LLM(or the developer) it is impossible to determine which is wrong.
Which is why I think it is also sort of stupid by having the LLM generate tests by just giving it access to the implementation. That is at best testing the implementation as it is, but tests should be based on the requirements.