Напомню разницу: instance_double
может уронить тест, если застабленные методы отсутствуют в указанном классе, double
на все пофиг.
По моему опыту double
нужен в двух случаях:
Вместо объекта, который пока не существует в системе. Нет класса, значит,
instance_double
не на что опереться.Вместо чего-то незначительного со стабильным АПИ. Например, для писем:
allow(DeadlineMailer)
.to receive(:last_deadline_warning)
.and_return(double(:email, deliver_later: true))
Top comments (0)