Когда я изначально был представлен Mocks, я чувствовал, что основной целью является макетирование объектов, которые поступают из внешних источников данных. Таким образом, мне не нужно было поддерживать автоматизированную тестовую базу тестирования модулей, я мог бы просто подделать ее.
Но теперь я начинаю думать об этом по-другому. Мне интересно, эффективны ли Mocks для полной изоляции тестируемого метода от чего-либо вне себя. Образ, который приходит на ум, - это фон, который вы используете при рисовании. Вы хотите, чтобы краска не обходила все. Я только тестирую этот метод, и я только хочу знать, как он реагирует на эти фальшивые внешние факторы?
Кажется невероятно утомительным, чтобы сделать это таким образом, но преимущество, которое я вижу, - это когда тест терпит неудачу, потому что он прикручен, а не 16 слоев вниз. Но теперь у меня должно быть 16 тестов, чтобы получить одинаковое покрытие тестирования, потому что каждая часть будет тестироваться изолированно. Плюс каждый тест становится более сложным и более глубоко привязан к методу, который он тестирует.
Мне кажется правильным, но это также кажется жестоким, поэтому я хочу знать, что думают другие.