Тестирую класс в котором есть метод который отправляет событие. Этот метод я хочу заглушить.
Я создаю Stub тестируемого объекта. Переопределяю метод отправки события но возникает другая проблема. Я не знаю вызывался ли этот метод вообще или нет.
Получается что мне нужно делать Spy который будете отслеживать кол-во выполненных операций но я нашел решение пока только через:
Код: Выделить всё
// Создать подставной объект для Observer,
// имитируя только метод update().
$observer = $this->getMockBuilder(Observer::class)
->setMethods(['update'])
->getMock();
// Настроить ожидание для метода update(),
// который должен вызваться только один раз со строкой 'something'
// в качестве своего параметра.
$observer->expects($this->once())
->method('update')
->with($this->equalTo('something'));
Я так понимаю мне нужно делать какой то объект отвечающий за отправку этого евента и мокать его?