https://simpleprogrammer.com/2010/12/12/back-to-basics-why-unit-testing-is-hard/
Back to Basics: Why Unit Testing is Hard
перевод адаптирован под 2017-ый, где у нас нет проблем с mock фреймворками, и нам не обязательно создавать интерфейс дабы сделать мок.