The type of projects I work on, typically don't have test cases until it's in production, once it goes into maintenance mode, then tests cases might be added. Test cases slow you down a lot if you need to move quickly with a very small team.
Larger long-term projects will have test cases, but only enough to ensure business logic stays sound and once it goes into maintenance mode, more test cases will be added.
The side-effect is that we can't do daily deploys and each deploy requires a human to sit and test through the scenarios - which is fine for a system that's rapidly changing at such a pace that test cases will become invalid faster than they can be written.