rspec повышение_отказа не работает с allow_any_instance

Я пытаюсь вызвать ошибку, используя приведенный ниже код rpsec.

allow_any_instance_of(ClientClass).to receive(:instance_method).and_raise(ErrorClass, 'Error raised')

Мой код, который я пытаюсь проверить, имеет метод экземпляра

def to_be_tested_code
   # do some stuff
   client = ClientClass.new
   client.instance_method
   # do other stuff 
end

Мои вопросы:

  1. Ошибка не появляется, когда я пытаюсь запустить контрольный пример. Что я делаю неправильно?
  2. Я знаю, что двойной рекомендуется издеваться, но тогда я должен double ClientClass объект и внедрить его, заставляя мою сигнатуру метода изменяться следующим образом #to_be_test_code(client_class_instance), поскольку #to_be_test_code это публичный метод, я не хочу менять сигнатуру метода для удобства тестирования.

0 ответов

Другие вопросы по тегам