много действительных ответов там, но я думаю, стоит упомянуть эту форму дядя боб: https://8thlight.com/blog/uncle-bob/2014/05/14/TheLittleMocker.html
лучшее объяснение с примерами!