Your test suite is green. All twelve AI tests pass, none of them touch a provider, and the whole run takes 200ms. Then someone tightens a system prompt on Tuesday, and three weeks later a customer forwards you a support reply that confidently invented a refund policy you do not have.
Every test still passed. They were never testing for that.
This post is about the gap: what fakes are genuinely good at, what they structurally cannot tell you, and how to test the part they leave out.
Fakes are good, and you should use them
The Laravel AI SDK ships a faking layer that works like every other test double in the framework. You define responses up front and assert the right prompts went out:






