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
Мои вопросы:
- Ошибка не появляется, когда я пытаюсь запустить контрольный пример. Что я делаю неправильно?
- Я знаю, что двойной рекомендуется издеваться, но тогда я должен
double
ClientClass
объект и внедрить его, заставляя мою сигнатуру метода изменяться следующим образом#to_be_test_code(client_class_instance)
, поскольку#to_be_test_code
это публичный метод, я не хочу менять сигнатуру метода для удобства тестирования.