2016-10-23 2 views
0

Если яMinitest stub_any_instance и методы?

Klass.stub_any_instance(:new, raise(RuntimeError) do 
    ... 
end 

RuntimeError поднимается на stub_any_instance линии, а не, как хотелось бы, позже, когда происходит Klass.new().

Есть ли способ сделать эту работу так, как мне хотелось бы?

ответ

0

Оберните raise в лямбда:

Klass.stub :new, -> { raise(RuntimeError) } do 
    assert_raise { Klass.new } 
end 

(. Вы также можете использовать stub вместо stub_any_instance)