Object.any_instance should_receive vs ожидать() для получения

Следующий фрагмент кода работает так, как ожидалось:

Object.any_instance.should_receive(:subscribe)

Но при использовании нового ожидания rspec он не работает:

expect(Object.any_instance).to receive(:subscribe)

Ошибка:

expected: 1 time with any arguments
received: 0 times with any arguments

Как я могу выполнить эту работу с ожиданием() для получения?

Ответ 1

В настоящее время существует не очень хорошо документированный метод под названием expect_any_instance_of, который обрабатывает специальный случай any_instance. Вы должны использовать:

expect_any_instance_of(Object).to receive(:subscribe)

Google expect_any_instance_of для получения дополнительной информации.