#ruby-on-rails #minitest #stubs
#ruby-on-rails #минимальный тест #заглушки
Вопрос:
Если я сделаю
Klass.stub_any_instance(:new, raise(RuntimeError) do
...
end
ошибка RuntimeError возникает в строке stub_any_instance, а не, как мне хотелось бы, позже, когда возникает Klass.new().
Есть ли способ заставить это работать так, как мне хотелось бы?
Ответ №1:
Оберните raise
в лямбда-выражение:
Klass.stub :new, -> { raise(RuntimeError) } do
assert_raise { Klass.new }
end
(Вы также захотите использовать stub
вместо stub_any_instance
.)