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