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