Мы уже знакомились с тем, что такое mock и как его использовать. Недавно в рубрике " Google Testing on the Toilet " появилась короткая, но хорошая статья про то, какие минусы у mock'ов (достаточно очевидные для тех, кто уже с ними попрактиковался): тесты становятся непонятными; тесты становится трудно менять и поддерживать; с mock у вас меньше уверенности в том, что тесты действительно правильно проверяют тестируемый код. Одним из сигналов того, что вы увлеклись мокированием, является подмена mock'ом более чем двух классов. Если для понимания того, что делает тест, вам приходится смотреть в тестируемый код - то это еще один признак лишних mock'ов. Часто, лучше вместо mock'ов использовать эмуляторы систем, с которыми работает тестируемый код. Тесты при этом просто настраивают эту систему на нужную реакцию.
О разном в программировании, тестировании и руководстве командами в IT