Предположим, у меня есть два соавтора, Sender
и Receiver
. Я хотел бы провести модульное тестирование Sender
:
class Sender
attr_accessor :total
def initialize(receiver)
@receiver = receiver
@total = 0
end
def calculate
total += 2
private_send
end
private
def private_send
receiver.message(self)
end
end
class Receiver
...
def message(sender)
sender.total += 5
end
end
Я знаю, что должен проверить побочные эффекты при поступлении команды calculate
Например,
sender = Sender.new.calculate
expect(sender.total).to be 7
Я знаю, что должен также проверьте, что исходящие команды вызываются, но я не должен проверять частные методы.
Стоит ли ожидать, что receiver
будет вызван с message
в моем Sender
модульном тесте? или это деталь реализации calculate
и поэтому уже охвачена?