Post: https://tyrrrz.me/blog/fakes-over-mocks
Previous HN Discussion on the above post: https://news.ycombinator.com/item?id=24770954
This does require dependency injection (DI), and my hot take is that manual DI > framework magic. Sure it's a little extra code writing, but folks should optimize for reading code, and some of the frameworks out there have a lot of complex concepts for DI (For example dagger is a popular DI framework for JVM, and the dev-guide has a lot of stuff in it, which feels like a lot to learn for what it's providing: https://dagger.dev/dev-guide/, no knock against dagger, I've ran into this with other DI frameworks too!)